无法访问母版页中的控件

时间:2015-04-17 13:09:25

标签: c# asp.net

在Master页面中我有:

 <a id="loginlink" href="Login.aspx">Login</a>
  <a id="logoutlink" href="Login.aspx">Logout</a>

在使用此母版页的其他页面中,我尝试这样做:

  Page.Master.FindControl("loginlink").Visible = false;

这是Microsoft页面中提供的类似代码。但我明白了:

An exception of type 'System.NullReferenceException' occurred in HousingSurvey.dll but was not handled in user code

2 个答案:

答案 0 :(得分:2)

这些还不是控件,只是一个标记。要使它们成为服务器端控件,请添加runat="server"

<a id="loginlink" href="Login.aspx" runat="server">Login</a>
<a id="logoutlink" href="Login.aspx" runat="server">Logout</a>

答案 1 :(得分:0)

这里的强打字会更好。这样,如果控件的名称发生更改,您将获得编译错误而不是运行时。早点失败。

母版页

<a id="loginlink" href="Login.aspx" runat="server">Login</a>
<a id="logoutlink" href="Login.aspx" runat="server">Logout</a>

内容页面

<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>

背后的代码

Master.loginlink.Visible = false;