[英]master page control on content page
我在母版页上有以下代码:
<u1>
...............
............
.............
</u1>
<ul>
<li id="link1" runat="server"><a href="mytestfile.aspx">Test Files</a></li>
<li id="link2" runat="server"><a href="mylistitemtest.aspx">List Item Test</a></li>
<li id="link3" runat="server"><a href="Mytest2.aspx">Some Test</a></li>
</ul>
我正在尝试通过以下方式访问内容页面上的link1:
var pageHandler = HttpContext.Current.CurrentHandler;
if (pageHandler is System.Web.UI.Page)
{
((System.Web.UI.Page)pageHandler).Master.FindControl("nav_link1").Visible = false;
}
但是我得到的错误为:“对象引用未设置为对象实例”
您的母版页上没有id为nav_link1
的控件,它是link1
在ContentPage上设置@MasterType指令
<%@ MasterType virtualpath="~/Masters/Master1.master" %>
然后使用FindControl在MasterPage上找到所需的内容
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder =
(ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder != null)
{
mpTextBox =
(TextBox) mpContentPlaceHolder.FindControl("TextBox1");
if(mpTextBox != null)
{
mpTextBox.Text = "TextBox found!";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.