0

我在母版页上有以下代码:

<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> 

我正在尝试访问内容页面上的链接 1:

var pageHandler = HttpContext.Current.CurrentHandler;
         if (pageHandler is System.Web.UI.Page)
         {
             ((System.Web.UI.Page)pageHandler).Master.FindControl("nav_link1").Visible = false;
         }

但我收到错误消息:“对象引用未设置为对象的实例”

4

2 回答 2

1

nav_link1您的母版页上没有带有 id 的控件link1

于 2014-08-20T10:18:13.820 回答
0

如何:参考 ASP.NET 母版页内容

在 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!";
    }
}
于 2014-08-20T10:24:41.960 回答