【发布时间】:2010-11-06 19:44:27
【问题描述】:
大家好,
我正在 ASP.NET 中构建一个页面,并在此过程中使用母版页。
我的母版页中有一个内容占位符名称“cphBody”,其中包含该母版页作为母版页的每个页面的正文。
在 ASP.NET 网页中,我有一个 Content 标记(引用“cphBody”),其中还包含一些控件(按钮、Infragistics 控件等),我想在 CodeBehind 文件中访问这些控件。但是,我不能直接这样做(this.myControl ...),因为它们嵌套在 Content 标记中。
我找到了 FindControl 方法的解决方法。
ContentPlaceHolder contentPlaceHolder = (ContentPlaceHolder) Master.FindControl("cphBody");
ControlType myControl = (ControlType) contentPlaceHolder.FindControl("ControlName");
效果很好。但是,我怀疑这不是一个很好的设计。你们知道更优雅的方法吗?
谢谢!
纪尧姆·热维斯。
【问题讨论】:
-
您是尝试从内容页的代码隐藏还是母版页的代码访问控件?
-
内容页面的代码隐藏。
-
这很奇怪。您应该能够从内容页面的代码隐藏中直接访问您的控件,除非它们是动态创建和添加的。
标签: asp.net master-pages findcontrol