隐藏用户菜单而不是删除
本文关键字:删除 用户 菜单 隐藏 | 更新日期: 2023-09-27 18:32:36
是否有可能隐藏用户菜单而不是删除它们?现在,我正在做:
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的问题在于,当我尝试使用页面上的搜索功能时,它会导致一些视图状态问题。因此,我需要执行以下操作,而不是删除:
UserMenu.Items.hide(UserMenu.FindItem("FindMerchant"));
或
UserMenu.FindItem("FindMerchant").Visible = False;
请注意,它显示"隐藏"而不是删除。
如果不能隐藏它们,还有别的办法吗?
2 天后,我终于意识到问题是由在错误的位置调用该方法引起的。我在page_init中称呼它,而不是Page_Load。
我希望这能为我所经历的头痛省去其他人。
你不能
只设置CSS风格的display=none;
吗?
UserMenu.FindItem("FindMerchant").Style.Add(HtmlTextWriterStyle.Display, "none");
或者添加一个类,其中display
设置为 none
:
UserMenu.FindItem("FindMerchant").Attributes.Add("class", "invisible");
只是一个建议,但也许使用 .在您的情况下,IsEnabled 将是更好的方法(忽略您提出的特定问题)?大多数菜单显示完整菜单并启用/禁用菜单条目。这不是您问题的确切解决方案,但也许值得一思。