Установка SelectedValue меню ASP.NET программно
У меня есть MultiView и меню на моей странице ASP.NET - каждый элемент меню имеет свойство Value, которое соответствует ViewIndex вкладки для отображения.
Иногда мне нужно установить активный вид программно, что отлично работает для MultiView, но установить свойство Selected элемента управления Menu немного сложнее. Я мог бы перебирать каждый элемент, пока значение не соответствует индексу представления, который я хочу показать, но это кажется немного странным.
Есть идеи?
2 ответа
Я рекомендую использовать событие MultiView OnActiveViewChanged для выбора пункта меню.
protected void myMultiView_ActiveViewChanged(object sender, EventArgs e)
{
int index = ((MultiView)sender).ActiveViewIndex;
myMenu.FindItem(index.ToString()).Selected = true;
}
Таким образом, всякий раз, когда вид изменяется (через SetActiveView() или иным образом), выбор меню остается синхронизированным. Обратите внимание, что вам также может потребоваться установить активный вид на OnMenuItemClick
Событие меню.
Приведенный ниже код работал у меня
if (transViewFlag == 0)
{
MultiView1.ActiveViewIndex = 0;
MenuTransactions.FindItem("0").Selected = true;
}
else
{
MultiView1.ActiveViewIndex = 1;
MenuTransactions.FindItem("1").Selected = true;
}