ASP.NET主版頁面和內容頁之間如何互相傳值

來源:互聯網
上載者:User

       我們在asp.net中建立一個完整的主版頁面之後,接下來必然要建立內容頁。從使用者訪問的角度來講,內容頁與最終結果頁的訪問路徑相同,這好像表明二者是同一檔案,實際不然。結果頁是一個虛擬頁面,沒有實際代碼,其代碼內容是在運行時狀態下主版頁面和內容頁合并的結果。

在開始介紹內容頁之前,還有兩個概念需要強調:一是內容頁中所有內容必須包含在Content控制項中;二是內容頁必須綁定主版頁面。雖然內容頁的副檔名與普通ASP.NET頁面相同,但是,其代碼結構有著很大差別。在建立內容頁的過程中,必須時刻牢記以上兩個重要概念。

內容頁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>網站介紹_IT知道網()</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 控制項中包含的內容將顯示在主版頁面中的對應位置。

ASP.NET之主版頁面和內容頁之間的傳值

擷取主版頁面上文字框的值賦給內容頁的文字框
this.TextBox1.Text = (Master.FindControl("textBox1") as TextBox).Text;
 
擷取內容頁上文字框的值賦給主版頁面的文字框
TextBox1.Text = (this.ContentPlaceHolder1.FindControl("textBox1") as TextBox).Text;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.