我的 ASP.NET 页面中有一个 MultiView 和一个菜单 - 每个菜单项都有一个 Value 属性,该属性对应于要显示的选项卡的 ViewIndex。
我有时需要以编程方式设置活动视图,这对于 MultiView 来说效果很好,但是设置 Menu 控件的 Selected 属性有点困难。我可以循环遍历每个项目,直到该值与我要显示的视图索引匹配,但这似乎有点 hacky。
有任何想法吗?
我建议使用 MultiView 的OnActiveViewChanged事件来选择菜单项。
protected void myMultiView_ActiveViewChanged(object sender, EventArgs e)
{
int index = ((MultiView)sender).ActiveViewIndex;
myMenu.FindItem(index.ToString()).Selected = true;
}
这样,无论何时更改视图(通过 SetActiveView() 或其他方式),菜单选择都将保持同步。请注意,您可能还需要OnMenuItemClick
在菜单事件上设置活动视图。