我试图隐藏菜单选项navbar
在基于用户角色的母版页中
但是当我尝试调用该元素时,它给了我一个错误。
这就是我所做的:
主页
<div class="navbar-collapse collapse">
<ul id="MasterMenu" class="nav navbar-nav">
<li id="liDashboard">
<a runat="server" href="~/_Dashboard">Dashboard</a>
</li>
<li id="liTicket">
<a runat="server" href="~/Forms/Tickets/_Ticket">Ticket+</a>
</li>
<li id="liReports">
<a runat="server" href="-">Reports</a>
</li>
</ul>
</div>
并且在另一个页面中
if (User.IsInRole("User"))
{
System.Web.UI.HtmlControls.HtmlGenericControl liDashboard = (System.Web.UI.HtmlControls.HtmlGenericControl)Master.FindControl("liDashboard");
liDashboard.Visible = false;
}
我也尝试添加runat="server"
但它仍然不起作用。
Use 空条件 https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-conditional-operators操作员 (?.
) 并在赋值前检查是否为 null:
System.Web.UI.HtmlControls.HtmlGenericControl liDashboard =
(System.Web.UI.HtmlControls.HtmlGenericControl)Master?.FindControl("liDashboard");
if (liDashboard != null) liDashboard.Visible = false;
还有你错过了runat="server"
在下面一行中:
<li id="liDashboard" runat="server">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)