C# 隐藏用户菜单而不是删除
是否有可能隐藏用户菜单而不是删除它们? 现在,我正在做:C# 隐藏用户菜单而不是删除,c#,asp.net,C#,Asp.net,是否有可能隐藏用户菜单而不是删除它们? 现在,我正在做: string currentPage = System.IO.Path.GetFileName(Request.Url.ToString()); if (currentPage.Equals("Default.aspx")) { UserMenu.Items.Remove(UserMenu.FindItem("FindMerchant")); UserMenu.Items.Remove(UserM
string currentPage = System.IO.Path.GetFileName(Request.Url.ToString());
if (currentPage.Equals("Default.aspx"))
{
UserMenu.Items.Remove(UserMenu.FindItem("FindMerchant"));
UserMenu.Items.Remove(UserMenu.FindItem("Ladder"));
}
但是删除UserMenu的问题是,当我尝试使用页面上的搜索功能时,它会导致一些viewstate问题。
因此,我需要做如下操作,而不是删除:
UserMenu.Items.hide(UserMenu.FindItem("FindMerchant"));
或
请注意,它表示“隐藏”,而不是删除
如果没有,可以隐藏它们,还有其他方法吗?您不能设置CSS样式
display=none代码>
UserMenu.FindItem("FindMerchant").Style.Add(HtmlTextWriterStyle.Display, "none");
或者添加一个类,其中display
设置为none
:
UserMenu.FindItem("FindMerchant").Attributes.Add("class", "invisible");
只是一个建议,但可能使用.IsEnabled将是您的情况下更好的方法(忽略您提出的具体问题)?
大多数菜单显示完整菜单和启用/禁用菜单项。
这不完全是您问题的解决方案,但可能值得一想。两天后,我终于意识到问题是在错误的位置调用该方法造成的。我在pageinit中调用它,而不是pageload
我希望这能帮别人减轻我的头痛。嗨。我似乎两样都做不到。
UserMenu.FindItem("FindMerchant").Attributes.Add("class", "invisible");