内容页响应母版页控件的事件
左直拳
在内容页里面,如果想响应位于母版页的控件的事件,该怎么办呢?
MSDN开宗明义地告诉我们:对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。
那是否意味着内容页中不能处理母版页控件的事件?如果不行的话,真不方便!
不过我试了一下,发现只要将我们希望执行的函数委托给该控件的事件就可以。
比如说,在母版页中有个按扭
<asp:Button ID="Button1" runat="server" Text="Button"/>
那么在内容页中可以在Page_Load里委托函数:
protected void Page_Load(object sender, EventArgs e)
{
Button B1 = (Button)Page.Master.FindControl("Button1");
B1.Click += new EventHandler(B1_Click);
}
然后将自己希望执行的代码放在函数B1_Click里:
protected void B1_Click(object sender, EventArgs e)
{
Response.Write("Hello World!");
}
运行以后,按下Button1,页面即会显示Hello World!
如果母版页中也有该按扭Click事件:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("Hello <city w:st="on"><place w:st="on">BeiJing</place></city>!");
}
那么这两个函数都会执行。顺序是先母版页,后内容页。
事件本质上是一个委托。委托这个东西,我的理解是一个函数的执行器,将函数传给它(委托给它,+=),就会按照先后顺序执行。委托就好比一支,函数就好比子弹。只要子弹尺寸口径合适(函数的参数、类型符合声明),不管是中国造的子弹,还是德国造的子弹,都可以打出去。给一发打一发,给两发打两发。
另外,访问母版页的控件,可以通过类似(Button)Page.Master.FindControl("Button1");的方式。如果想访问母版页的属性,需要在内容页加入类似一句:<%@ MasterType virtualpath="~/Master/list.master" %>
然后就可以通过 Master.属性 的方式访问了。注意前面没有Page.。
分享到:
相关推荐
- 先是母版页的`LoadViewState`事件,此阶段会恢复母版页控件的状态。 - 然后是内容页的`LoadViewState`事件,用于恢复内容页控件的状态。 3. **加载页面阶段(Load)**: - 母版页的`Page_Load`事件紧接着执行...
4. **使用事件**:通过定义自定义事件,可以在内容页中触发操作,然后在母版页中响应。例如,定义一个`ButtonClick`事件: 在母版页中创建事件: ```csharp public delegate void CustomEventHandler(object ...
4. **控件和事件处理**:母版页和内容页都可以添加控件并处理各自的事件。如果内容页和母版页上存在同名控件,内容页的控件会覆盖母版页的控件。同时,两者都可以通过事件处理程序来响应用户的交互。 5. **动态数据...
ASP.NET母版页允许添加服务器端控件,如菜单、导航条等,这些控件可以响应用户交互,提供动态功能。静态页面中的任何类似功能需要相应地转换为服务器控件。 8. **调试和测试**: 转换完成后,务必进行全面的测试...
总之,正确地在母版页和内容页中使用JavaScript和CSS,以及有效地访问服务器控件,是ASP.NET开发中的基础技能。这有助于创建功能丰富、响应迅速且易于维护的Web应用程序。理解服务器控件的客户端表示和如何在...
内容页则是与母版页配合使用的页面,它继承了母版页的结构,并在指定的ContentPlaceHolder控件中填充特定的内容。每个内容页可以根据需要定制其独特的内容,而不需要关心全局的布局细节。这使得开发者可以专注于每个...
3. 控件和事件处理:母版页上的控件可以像普通页面一样拥有事件,而内容页也可以添加自己的控件。事件处理程序可以通过使用` <%@ Master %> `指令的CodeBehind属性指定的类来编写。 4. URL重写和导航:母版页是设置...
5. 母版页和内容页的数据绑定可以在母版页或子页面中完成,根据需求灵活处理。 结合`TreeView`和`SiteMapPath`控件,我们可以创建一个功能丰富的导航系统,使用户能够轻松地浏览网站结构。而母版页则确保所有页面...
此外,母版页还可以包含一些可以被内容页自定义的区域,这些区域被称为ContentPlaceHolder控件。内容页通过使用@ContentPlaceHolder指令与母版页上的ContentPlaceHolder进行关联,提供具体的内容。 结合SiteMapPath...
- 内容页通过`@Page`指令引用母版页,并使用`<asp:Content>`控件与母版页的占位符对应。例如,`<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">`。 2. **MOSS中的母版页和内容页** - 在...
母版页定义了网页的基本结构,包括头部、页脚、侧边栏等通用元素,而内容页则填充在预定义的ContentPlaceHolder控件中,提供具体的内容。母版页允许快速更改整个站点的外观和行为,而无需修改每个单独的页面。 这个...
- **Content Placeholders**:这是母版页中的特殊控件,用于放置子页面的特定内容。每个子页面可以根据需要插入内容到对应的占位符中。 - **Footer**:包含版权信息、联系方式等,位于页面底部。 - **Sidebars**...
在ASP.NET Web Forms开发中,母版页(Master Page)是一种强大的...这为我们的Web Forms应用提供了灵活的数据传递机制,使得用户控件能够根据母版页的状态做出相应的响应。在实际项目中,应根据需求选择最合适的方法。
5. **响应式设计**:考虑到不同设备的屏幕尺寸和分辨率,动态更换的母版页应该具有良好的响应式设计,确保在手机、平板和桌面等不同设备上都能正常显示和操作。 6. **用户体验**:风格切换过程中应尽量减少用户的...
母板页定义了一个通用的头部、脚部和导航结构,这些结构可以被所有继承自它的内容页(Content Page)共享。通过使用母板页,开发者可以确保整个网站有一致的外观和感觉,同时减少重复代码,提高代码复用性。内容页则...
1. **ASP.NET控件类型**:ASP.NET提供多种类型的控件,如HTML控件(如Button、Label)、服务器控件(如TextBox、DropDownList)、WebControl(自定义的.NET控件)、以及用户控件(UserControl)和母版页控件。...
6. **母版页和内容页**:母版页(MasterPage)是ASP.NET中一种强大的布局工具,它定义了网页的通用头部、导航栏和底部,而内容页(ContentPage)则在其内填充具体的内容。 通过下载并研究“Demo1”项目,你可以亲手...
当涉及到基类(如BasePage)或母版页(MasterPage)时,事件顺序会有微调,基类和子类的事件将依次触发,母版页的事件会在内容页之前执行。这种机制使得开发者能够方便地在基类中进行全局设置,如权限检查,同时在...
控件可以在母版页中定义,或者在内容页中引用,根据需求灵活选择。 总结,Web用户控件是ASP.NET开发中的强大工具,通过掌握其高级使用技巧,如属性、事件、数据绑定和状态管理,可以显著提高开发效率和代码质量。...