c# - 如何在 asp.net C# 代码后面的菜单控件中禁用特定菜单项

标签 c# asp.net master-pages

在母版页中:

 <asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" Width="60%" 
            BackColor="#336699" Font-Bold="True" 
            ForeColor="White">
            <StaticMenuStyle BackColor="#336699" />
            <StaticSelectedStyle BackColor="#336699" />
            <StaticMenuItemStyle BackColor="#336699" />
            <DynamicHoverStyle BackColor="#336699" />
            <DynamicMenuStyle BackColor="#336699" />
            <DynamicMenuItemStyle BackColor="#336699" />
            <StaticHoverStyle BackColor="#336699" />
        <Items>
            <asp:MenuItem Text="Dashboard" NavigateUrl="~/Timecard/Dashboard.aspx">
            </asp:MenuItem>
                            <asp:MenuItem Text="Timecard" NavigateUrl="~/Timecard/TimeCardEntry.aspx">
            </asp:MenuItem>
                            <asp:MenuItem Text="Reports">
                            <asp:MenuItem Text="Employee Time card Report" NavigateUrl="~/Reports/Employee_Timecard .aspx"></asp:MenuItem>
                            <asp:MenuItem Text="Employee Leave Detail Report" NavigateUrl="~/Reports/Employee Leave Details.aspx"></asp:MenuItem>
                            <asp:MenuItem Text="Project wise Report" NavigateUrl="~/Reports/ProjectWise.aspx"></asp:MenuItem>
            </asp:MenuItem>
                            <asp:MenuItem Text="Master">
                                <asp:MenuItem Text="Company" NavigateUrl="~/Admin/CompanyList.aspx"></asp:MenuItem>
                                <asp:MenuItem Text="Designation" NavigateUrl="~/Admin/DesignationList.aspx"></asp:MenuItem>
                                <asp:MenuItem Text="Task" NavigateUrl="~/Admin/TaskList.aspx"></asp:MenuItem>
                                <asp:MenuItem Text="Project" NavigateUrl="~/Admin/ProjectList.aspx"></asp:MenuItem>
                                <asp:MenuItem Text="Employee" NavigateUrl="~/Admin/EmployeeList.aspx"></asp:MenuItem>
                                <asp:MenuItem Text="Employee Transfer/Promotion" NavigateUrl="~/Admin/EmployeeTransferList.aspx"></asp:MenuItem>
                            <asp:MenuItem Text="Holiday" NavigateUrl="~/Admin/HolidayList.aspx"></asp:MenuItem>
            </asp:MenuItem>
        </Items>
        </asp:Menu>

我想在代码隐藏中禁用报告和主菜单。我必须检查它是否是管理员。如果用户处于管理员状态意味着应该显示所有菜单项,如果用户不是管理员意味着我必须为报告和主菜单设置 visible=false。请帮助我。

最佳答案

像下面这样尝试它会起作用...

if(UserStatus != "Admin")
{
 Menu1.Items.Remove(Menu1.FindItem("Reports"));
 Menu1.Items.Remove(Menu1.FindItem("Master"));
}

如果您的菜单在母版页中,那么请尝试如下...

var menu = Page.Master.FindControl("Menu1") as Menu;
if (menu != null)
{
menu.Items.Remove(menu.FindItem("Reports"));
menu.Items.Remove(menu.FindItem("Master"));
}

关于c# - 如何在 asp.net C# 代码后面的菜单控件中禁用特定菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15066046/

相关文章:

asp.net - 如何更改自定义 TextBox 控件的 'type' 属性

javascript - 将自定义 header 添加到 Web 服务调用并在 Web 服务方法中读取它

c# - 在基本母版页中设置标题

c# - Visual Studio 2013 C# : one solution consume code of another solution

c# - SignalR 错误 "No connection could be made because the target machine actively refused it"

c# - 在 azure 上移动 asp.net Web 表单网站,无需再次编码即可使用 azure blob 存储

c# - 在异步方法中使用 ReaderWriterLockSlim 是否安全

c# - 在 ASP.NET 和 XDocument.Load 中获取文件路径

c# - 当链接悬停在 Div 的背景上时,图像的位置没有改变。以下 css 有什么问题?

asp.net - 在 asp.net 中显示用户消息的好方法的建议?