top
Loading...
ASP.NET2.0中創建內容頁
教程推薦
·ASP.NET初學者入門實踐
·Visual Baisc.NET入門
·基于C#的接口基礎教程
·Visual Studio 2005
精彩專題
·ASP.NET創建XML Web服務
·Visual Basic 9.0新功能
·VB2005實現RSS覽盡天下事
主題社區
·ASP.NET源碼·ASP.NET

在創建一個完整的母版頁之后,接下來必然要創建內容頁。從用戶訪問的角度來講,內容頁與最終結果頁的訪問路徑相同,這好像表明二者是同一文件,實際不然。結果頁是一個虛擬的頁面,沒有實際代碼,其代碼內容是在運行時狀態下母版頁和內容頁合并的結果。在開始介紹內容頁之前,還有兩個概念需要強調:一是內容頁中所有內容必須包含在Content控件中;二是內容頁必須綁定母版頁。雖然內容頁的擴展名與普通ASP.NET頁面相同,但是,其代碼結構有著很大差別。在創建內容頁的過程中,必須時刻牢記以上兩個重要概念。

與創建母版頁差不多,創建內容頁的過程比較簡單。單擊“網站”命令菜單中的“添加新項...”,或者在解決方案管理器中右鍵單擊項目,在下拉菜單中選擇“添加新項...”,就可以打開如圖1所示的窗口。

如圖1所示,要求選擇新建文件類型。由于內容頁與普通.aspx頁面的擴展名相同,因此,選擇的是Web窗體圖標。接著,還需要設置文件名Index.aspx。設置完成之后,不可直接單擊“添加”按鈕。因為,內容頁必須綁定母版頁,所以還需要對復選框“將代碼放在單獨的文件中”和“選擇母版頁”進行設置。前者在前文中已經說明,重點說明后者。“選擇母版頁”復選框用于設置所創建Web窗體是否綁定母版頁。如果創建的是內容頁,那么必須選中該選項。結束以上操作之后,可以單擊“確定”按鈕,從而彈出如圖1所示的窗口。

窗口左側是項目文件夾,右側是文件夾中的母版頁列表。圖1所示窗口中已經列舉了剛剛創建的母版頁MasterPage.master,選中該文件,單擊“確定”按鈕即可。經過以上步驟,就順利創建了一個綁定母版頁MasterPage.master的內容頁Index.aspx了。



圖1 添加內容頁



圖2 選擇母版頁

下面列出內容頁Index.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>&nbsp;</p><p>&nbsp;</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支持對于內容頁的可視化編輯,并且這種支持是建立在只讀顯示母版頁內容基礎上的。在編輯狀態下,可以查看母版頁和內容頁組合后的頁面外觀,但是,母版頁內容是只讀的(呈現灰色部分),不可被編輯,而內容頁則可以進行編輯。如果需要修改母版頁內容,則必須打開母版頁。

軟件頻道精品推薦

更多精彩
點擊體驗>>

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗