加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:17:17 所属栏目:asp.Net 来源:网络整理
导读:在母版页中: asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" Width="60%" BackColor="#336699" Font-Bold="True" ForeColor="White" StaticMenuStyle BackColor="#336699" / StaticSelectedStyle BackColor="#336699" / StaticMenuItemStyle
在母版页中:

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

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

解决方法

尝试下面它会工作…

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

如果您的菜单在Master Page中,请尝试如下…

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读