程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET 2.0中創建內容頁

ASP.NET 2.0中創建內容頁

編輯:.NET實例教程
在創建一個完整的母版頁之後,接下來必然要創建內容頁。從用戶訪問的角度來講,內容頁與最終結果頁的訪問路徑相同,這好像表明二者是同一文件,實際不然。結果頁是一個虛擬的頁面,沒有實際代碼,其代碼內容是在運行時狀態下母版頁和內容頁合並的結果。在開始介紹內容頁之前,還有兩個概念需要強調:一是內容頁中所有內容必須包含在Content控件中;二是內容頁必須綁定母版頁。雖然內容頁的擴展名與普通ASP.Net頁面相同,但是,其代碼結構有著很大差別。在創建內容頁的過程中,必須時刻牢記以上兩個重要概念。
  
    與創建母版頁差不多,創建內容頁的過程比較簡單。單擊“網站”命令菜單中的“添加新項...”,或者在解決方案管理器中右鍵單擊項目,在下拉菜單中選擇“添加新項...”,就可以打開如圖1所示的窗口。
  
    如圖1所示,要求選擇新建文件類型。由於內容頁與普通.aspx頁面的擴展名相同,因此,選擇的是Web窗體圖標。接著,還需要設置文件名Index.ASPx。設置完成之後,不可直接單擊“添加”按鈕。因為,內容頁必須綁定母版頁,所以還需要對復選框“將代碼放在單獨的文件中”和“選擇母版頁”進行設置。前者在前文中已經說明,重點說明後者。“選擇母版頁”復選框用於設置所創建Web窗體是否綁定母版頁。如果創建的是內容頁,那麼必須選中該選項。結束以上操作之後,可以單擊“確定”按鈕,從而彈出如圖1所示的窗口。
  
    窗口左側是項目文件夾,右側是文件夾中的母版頁列表。圖1所示窗口中已經列舉了剛剛創建的母版頁MastERPage.master,選中該文件,單擊“確定”按鈕即可。經過以上步驟,就順利創建了一個綁定母版頁MasterPage.master的內容頁Index.ASPx了。
  
  
  圖1 添加內容頁
  
  圖2 選擇母版頁
  
    .ASPx的源代碼:
  
  
  
  內容頁Index.ASPx文件源代碼
  
  
  <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Index.ASPx.cs" Inherits="Index" Title="示例5-1" %>
  
  <ASP:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
  
   <img src="images/pagepic.gif" width="244" height="223" />
  
  </ASP:Content>
  
  <ASP:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server">
  
   <p> </p><p> </p>
  
   <h1>網站介紹</h1>
  
   <p>本頁面采用來自ASP.NET 2.0技術的母版頁新特性進行開發。 主要包括兩個頁面:母版頁和內容頁。 母版頁後綴名是.master,其封裝網站中的共用元素。 內容頁實際是普通的.aspx文件,它包含除母版頁的其他內容。在運行時,ASP.Net引擎將兩種頁面內容合並執行,最後將結果發給客戶端浏覽器。</p>
  
  </ASP:Content>
  
  
  
     以上粗體代碼是內容頁的代碼結構。從中可以看出,內容頁與普通.ASPx文件在代碼上的不同。內容頁沒有<Html>、<body>、<form>等關鍵Web元素,這些元素都被放置在母版頁中。內容頁中除了代碼頭聲明,僅包含Content控件。內容頁的代碼頭聲明與普通.ASPx文件相似。但是,新增加了兩個屬性MasterPageFile和Title。屬性MasterPageFile用於設置該內容頁所綁定的母版頁的路徑,屬性Title用於設置頁面title值。在創建內容頁過程中,由於已經指定了所綁定母版頁,因此,Visual Studio 2005將自動設置MasterPageFile屬性值。另外,在源代碼中,還設置了兩個Content控件Content1和Content2。兩個控件內部包含的內容是頁面的非公共部分。通過設置屬性ContentPlaceHolderID,將Content1與母版頁的ContentPlaceHolder1對應,將Content2與母版頁的ContentPlaceHolder2對應。在頁面運行時,Content控件中包含的內容將顯示在母版頁中的對應位置。
  
    圖3所示顯示了內容頁Index.ASPx的設計時截圖。
  


  
  圖3 內容頁設計時視圖
  
    同母版頁一樣,Visual Studio 2005支持對於內容頁的可視化編輯,並且這種支持是建立在只讀顯示母版頁內容基礎上的。在編輯狀態下,可以查看母版頁和內容頁組合後的頁面外觀,但是,母版頁內容是只讀的(呈現灰色部分),不可被編輯,而內容頁則可以進行編輯。如果需要修改母版頁內容,則必須打開母版頁。
  
  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved