我用了三种方式:
targetGridControl = this.Page.FindControl("grid")
targetGridControl = this.Page.Master.FindControl("grid")
targetGridControl = this.FindControl("grid") 在自定义控件的OnPreRender/Render和CreateChildControls方法中都找不到该控件,
该Grid控件在页面确实存在.
原因是: 我的Test.aspx页面继承了MasterPage之后就找不到了; 如果不继承MasterPage是可以找到该控件的.如果一定要用到MasterPage, 应该怎么解决?谢了!
targetGridControl = this.Page.FindControl("grid")
targetGridControl = this.Page.Master.FindControl("grid")
targetGridControl = this.FindControl("grid") 在自定义控件的OnPreRender/Render和CreateChildControls方法中都找不到该控件,
该Grid控件在页面确实存在.
原因是: 我的Test.aspx页面继承了MasterPage之后就找不到了; 如果不继承MasterPage是可以找到该控件的.如果一定要用到MasterPage, 应该怎么解决?谢了!
变成ContentPlaceHolder_controlname这种形式
你看看变成什么了
察看源代码可以看见
内容页控件初始化
母版页初始化
内容页初始化
内容页加载
母版页加载
...在母版页控件初始化的时候,内容页控件还没有初始化,怎么能加载?
foreach(Control c in page.Controls)
{
c.Controls.FindControl("");
}
如果还在下一层的话就继续遍历