2015-04-17 2 views
2

У меня есть меню Кендо с действиями:меню Кендо выбирает несколько элементов одновременно, ASP.NET MVC

@(Html.Kendo().Menu().Name("menu") 
.Items(it => {          
     it.Add().Text("Item1").Items(subit => { 
       subit.Add().Text("subitem1).Action("Contracts", "Home"); 
       subit.Add().Text("subitem2").Action("Contracts", "Home", 
                 new { flag = true }); 
}); 
}) 
) 

Моя проблема заключается в том, что всякий раз, когда я выбираю subitem1subitem2 или элементы получают как выбрать (класс .k-state-selected добавлен оба элемента). Я предполагаю, что это происходит, потому что у меня есть те же действия контроллера. Я бы не хотел создавать отдельное действие для subitem2. Есть ли обходной путь?

Большое спасибо!

+0

Только для некоторого контекста, что является причиной наличия 2 ссылки навигации на ту же страницу, как у вас в примере? –

+0

На самом деле это Kendo: он проверяет текущий URL-адрес и устанавливает класс 'k-state-selected' на элементах, указывающих на него. –

+0

@gerdi, они возвращают представления с разными данными на основе значений маршрута. –

ответ

0

Я не не, если это работает, потому что я не имею библиотеку кендо и я не могу показаться, чтобы проверить его должным образом на http://dojo.telerik.com/ но в основном

Пожары перед подменю получает открыт.

$("#menu").kendoMenu({ 
    open: function(e) { 
      if (location.search != "") { 
       $('#menu #item a:first').removeClass('.k-state-selected'); 
     } 
    } 
}); 

Затем он смотрит, чтобы увидеть, если URL имеет свойство, согласно location.search и если это произойдет, то он удаляет класс кендо из первого пункта меню меню, которое не является один проходит ничего.

Я не знаю, как кендо строит свои детали, но вы также можете проверить, если при активации будет работать лучше

Пожары, когда подменю получает открыт и его анимация закончена.

$("#menu").kendoMenu({ 
    activate: function(e) { 
     // handle event 
    } 
}); 
Смежные вопросы