ASP.NET 2.0中建立內容頁

來源:互聯網
上載者:User
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="http://www.webjx.com/htmldata/2006-06-22/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支援對於內容頁的可視化編輯,並且這種支援是建立在唯讀顯示主版頁面內容基礎上的。在編輯狀態下,可以查看主版頁面和內容頁組合後的頁面外觀,但是,主版頁面內容是唯讀(呈現灰色部分),不可被編輯,而內容頁則可以進行編輯。如果需要修改主版頁面內容,則必須開啟主版頁面。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.