gpt4 book ai didi

c# - 如何隐藏母版页导航栏中的元素

转载 作者:行者123 更新时间:2023-11-30 20:28:40 24 4
gpt4 key购买 nike

我试图根据用户角色在母版页的 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" 但它仍然无法正常工作。

最佳答案

使用Null-Conditional运算符 (?.) 并在赋值前检查是否为空:

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

关于c# - 如何隐藏母版页导航栏中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46934704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com