`
yangshen998
  • 浏览: 1249481 次
文章分类
社区版块
存档分类
最新评论

嵌套母版页中的控件访问

 
阅读更多

嵌套母版页中的控件访问

左直拳

嵌套母版页中的控件访问很别扭。

如果一个内容页对应一个没有嵌套的母版页,访问这个母版页上的控件众所周知:类似(Button)Page.Master.FindControl("Button1")

可是这个母版页如果又嵌套在另一个母版页里面,上述语句包你什么东西都访问不到。

假设顶层母版页master0.master

<asp:contentplaceholder id="SubMaster" runat="server">

</asp:contentplaceholder>

子母版页master1.master

<asp:Content id="SubMasterList" ContentPlaceholderID="SubMaster" runat="server">

<asp:contentplaceholder id="Main" runat="server">

</asp:contentplaceholder>

<asp:Button ID="Button1" runat="server" Text="Button"/>

</asp:Content>

现在内容页content.aspx结合子母版页master1.master,有

<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">

</asp:Content>

这时不论是

(Button)Page.Master.FindControl("Button1")

还是

ContentPlaceHolder direcMaster = (ContentPlaceHolder)Page.Master.FindControl("SubMaster");

Button b1 = (Button)direcMaster.FindControl("Button1");

都无法访问到这个BUTTON

我折腾来折腾去,最后才知道正确的写法是:

ContentPlaceHolder direcMaster = (ContentPlaceHolder)Page.Master.Master.FindControl("SubMaster");

Button b1 = (Button)direcMaster.FindControl("Button1");

就是说,如果母版页嵌套多少层,Master就应该写多少个。

这样子的话,我认为如果想访问母版页的控件,还不如通过在母版页设置属性来间接访问该控件。一方面,访问方便;另一方面,可屏蔽细节,内容页根本不用关心所用的母版页到底嵌套了多少层。

分享到:
评论

相关推荐

    VS2008(C#)中的ASP.NET子页嵌套多层母版页的控件访问方法

    VS2008(C#)中的ASP.NET子页嵌套多层母版页的控件访问方法

    使用模板页后内容页中控件查找

    页面使用母版页后,在页面中查找指定的控件是否存在,以及得到的控件类型是否和自己控件的类型一致;从而判断是否可以显示

    ASP.NET开发实战1200例(第Ⅰ卷)第十章

    第10章 母版页技术 420 10.1 母版页基础 421 实例261 创建.master母版页文件 421 实例262 添加内容页 423 ...实例271 嵌套母版页 434 实例272 高速缓存母版页 436 实例273 ASP.NET AJAX和母版页应用 437

    ASP.NET 页面控件遍历

    ASP.NET 页面控件遍历(非嵌套母版页的情况下)

    控件嵌套在ajax的模板中 需要提示的对话框写法

    如果网站页面潜逃了ajax 想在后台利用js弹出对话框 试试这个方法 挺好用的

    精通ASP.NET.4.0网络编程 part-2

    第1篇ASP.NET网络开发关键技术第1章ASP.NET网络开发基础(教学视频87分钟)...嵌套母版页1.2.5从内容页访问母版页控件1.3主题1.3.1创建和使用主题1.3.2主题与样式表1.3.3动态修改主题1.4Web服务1.4.1Web服务简介1.4.2创建...

    精通ASP.NET.4.0网络编程 part-1

    第1篇ASP.NET网络开发关键技术第1章ASP.NET网络开发基础(教学视频87分钟)...嵌套母版页1.2.5从内容页访问母版页控件1.3主题1.3.1创建和使用主题1.3.2主题与样式表1.3.3动态修改主题1.4Web服务1.4.1Web服务简介1.4.2创建...

    asp.net2.0系列教程第4章_第3节

    第三节母版页和内容页的事件先后顺序(Page_Load Page_Init)在内容页中访问母版页控件对象 嵌套母版页

    ASP.NET 控件的使用

    5.1.2 嵌套母版页 166 5.1.3 在母版页中使用图片和超链接 170 5.1.4 在Web配置文件中注册母版页 172 5.2 修改母版页内容 172 5.2.1 使用Title属性 173 5.2.2 使用Page Header属性 173 5.2.3 暴露母版页属性 175 ...

    asp.net程序设计使用教程课件ppt

    6.3 母版页嵌套和动态加载 7.1 主题和样式 7.2 个性化 8.1 部署、测试、IIS配置 8.2 调试 9.1 SqlDataSource数据源的使用 9.2 ObjectDataSource数据源的使用 9.3 数据绑定的基本知识 9.4 DataList控件的常用属性、...

    ASP.NET.4揭秘

    5.1.2 嵌套母版页186 5.1.3 在母版页中使用图片和超链接191 5.1.4 在web配置文件中注册母版页193 5.2 修改母版页内容194 5.2.1 使用title属性194 5.2.2 使用page.header属性194 5.2.3 暴露母版页属性196 5.2.4 对...

    Visual Studio 2008 - LINQ

    介绍了Visual Studio 2008中的许多新特性,包括样式表、嵌套母版页、LinqDataSource、EntityDataSource、ListView以及DataPager等控件的使用;详细说明了C# 2.0以及C# 3.0中的新特性,如泛型、扩展方法、Lambda...

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    9.1.6 对GridView控件中的数据进行排序 9.2 其他数据控件的应用 9.2.1 使用Repeater控件显示数据 9.2.2 在Repeater控件中分页显示数据 9.2.3 使用DetailsView控件操作一条记录 9.2.4 使用FormView控件更新和...

    ASP.NET3.5从入门到精通

    12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2 简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2 制作页面 12.4.1 创建ASPX 页面 12.4.2 创建CSS 层叠...

    ASP.NET 3.5 开发大全word课件

    12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式...

    ASP.NET 3.5 开发大全11-15

    12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式...

    ASP.NET 3.5 开发大全

    12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式...

    ASP.NET 3.5 开发大全1-5

    12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式...

    ASPNET35开发大全第一章

    12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式...

    Asp.net三层框架

    asp.net项目三层框架样式表、嵌套母版页、LinqDataSource、EntityDataSource、ListView以及DataPager等控件的使用;详细说明了C#2.0以及C#3.0中的新特性,如泛型、扩展方法、Lambda表达式等,并对最新的ASP.NETMVC...

Global site tag (gtag.js) - Google Analytics