Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 隐藏用户菜单而不是删除_C#_Asp.net - Fatal编程技术网

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");