下面给定的代码是我用来在母版页中显示菜单项的代码。我确实有一个登录页面,用户可以从中登录以查看母版页菜单项。有不同类型的用户,即“管理员、工人、经理等...”。我想根据用户身份验证从母版页隐藏菜单项。如果用户以“admin”身份登录,则所有菜单项都应可见,但如果用户以“worker”身份登录,则应隐藏某些菜单项,以便他们无法查看。如何以简单的方式做到这一点,而不会使它变得更复杂。
请帮助我解决这种情况。我不是编程方面的专家,所以详细解释一下。提前致谢。
< asp:Menu id="Menu1" runat="server" width="200px" >
< Items >
< asp:MenuItem Text="EMPLOYEE DETAILS" NavigateUrl="~/Employee_Details.aspx"
Value="Employee_Details" >
< /asp:MenuItem >
< asp:MenuItem Text="INSPECTION" NavigateUrl="~/Inspection_Details.aspx" Value="Inspection" >
< /asp:MenuItem >
< asp:MenuItem Text="LOGIN DETAILS" NavigateUrl="~/Login_Details.aspx" Value="Login_Details" >
< /asp:MenuItem >
< asp:MenuItem Text="WORK" NavigateUrl="~/WorkInProgress.aspx" Value="Work" >
< /asp:MenuItem >
< /Items >
< /asp:Menu >
Run Code Online (Sandbox Code Playgroud)
检查这里一个类似的问题。
您正在使用菜单。
您可以删除一个项目,如
Menu1.Items.Remove
var menu = Page.Master.FindControl("Menu1") as Menu;
if(UserStatus != "Admin")
{
Menu1.Items.Remove(Menu1.FindItem("INSPECTION"));
Menu1.Items.Remove(Menu1.FindItem("WORK"));
}
Run Code Online (Sandbox Code Playgroud)
我建议你在 Page_LOad 中这样做。请转到上面的链接或。请参阅此处。很明显 。希望能帮助到你