Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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# 如何设置asp.menu.selectedvalue_C#_Asp.net_Menu - Fatal编程技术网

C# 如何设置asp.menu.selectedvalue

C# 如何设置asp.menu.selectedvalue,c#,asp.net,menu,C#,Asp.net,Menu,回发后,我有一个函数,首先清除菜单项,然后从数据库的列表中动态重新绑定这些项。问题是菜单。selectedvalue将清除,问题是,如何强制asp菜单具有selectedvalue?我试着使用这个代码 TabMenu.SelectedValue = ViewState["Tab"].ToString(); 但是它失败了,它表示无法将属性或索引器“System.Web.UI.WebControls.Menu.SelectedValue”分配给-它是只读的。您需要深入到特定的项目元素: 如果您的i

回发后,我有一个函数,首先清除菜单项,然后从数据库的列表中动态重新绑定这些项。问题是菜单。selectedvalue将清除,问题是,如何强制asp菜单具有selectedvalue?我试着使用这个代码

TabMenu.SelectedValue = ViewState["Tab"].ToString();

但是它失败了,它表示无法将属性或索引器“System.Web.UI.WebControls.Menu.SelectedValue”分配给-它是只读的。

您需要深入到特定的项目元素:


如果您的itemvalue始终存在,或许您可以尝试以下方法:

TabMenu.Items.AsQueryable<MenuItem>().First(m => m.Value == ViewState["Tab"].ToString()).Selected = true;

希望这有帮助

嗨,如果我不知道它的索引,比如在我的示例中,我已经将selectedvalue存储在viewstate中,我使用selectedvalue,因为索引可能会更改,因为每次数据库中添加新列表时,我的菜单都会动态填充。通过数据源重新绑定后,您需要运行一些代码来“转换”简单搜索,例如:ViewState['Tab']索引到新索引,然后使用此索引选择项目。考虑使用Session或Cache对象来存储菜单数据,并仅在更改时重新生成。
TabMenu.Items.AsQueryable<MenuItem>().First(m => m.Value == ViewState["Tab"].ToString()).Selected = true;