ASP.NET母版页和内容页之间如何互相传值
2012-03-28 17:11
260 查看
我们在asp.net中创建一个完整的母版页之后,接下来必然要创建内容页。从用户访问的角度来讲,内容页与最终结果页的访问路径相同,这好像表明二者是同一文件,实际不然。结果页是一个虚拟的页面,没有实际代码,其代码内容是在运行时状态下母版页和内容页合并的结果。
在开始介绍内容页之前,还有两个概念需要强调:一是内容页中所有内容必须包含在Content控件中;二是内容页必须绑定母版页。虽然内容页的扩展名与普通ASP.NET页面相同,但是,其代码结构有着很大差别。在创建内容页的过程中,必须时刻牢记以上两个重要概念。
内容页Index.aspx文件源代码
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" 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>网站介绍_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;
在开始介绍内容页之前,还有两个概念需要强调:一是内容页中所有内容必须包含在Content控件中;二是内容页必须绑定母版页。虽然内容页的扩展名与普通ASP.NET页面相同,但是,其代码结构有着很大差别。在创建内容页的过程中,必须时刻牢记以上两个重要概念。
内容页Index.aspx文件源代码
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" 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>网站介绍_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;
相关文章推荐
- 如何:引用 ASP.NET 母版页的内容 (zz)
- asp.net内容页如何获取母版页的控件
- ASP.NET之母版页和内容页之间的传值
- ASP.NET 2.0 中母版页与内容页的控件之间的访问
- ASP.NET 2.0 中母版页与内容页的控件之间的访问
- ASP.NET母版页和内容页之间如何互相传值
- ASP.NET下母版页和内容页中的事件发生顺序整理
- asp.net如何抓取其他网站的内容
- [摘自MSDN] ASP.Net2.0学习 [1] 母版页 7: 引用 ASP.NET 母版页的内容
- asp.net中如何返回二个日期之间相差的天数
- ASP.NET前台JS与后台CS函数如何互相调用
- ASP.NET页面同时存在自定义控件,母版页,内容页的加载顺序
- ASP.NET下母版页和内容页中的事件发生顺序整理
- 如何在 32 位版本的 ASP.NET 1.1 和 64 位版本的 ASP.NET 2.0 之间切换
- Asp.net 母版页情况下如何进行jquery.validate验证 推荐
- ASP.NET如何在窗体和窗体之间传送数据
- ASP.NET页面之间传值Server.Transfer(4)
- ASP.NET下母版页和内容页中的事件发生顺序整理
- 引用asp.net母版页后,母版页和内容页的页面事件执行顺序
- ASP.NET如何在窗体和窗体之间传送数据