Это не решает вашу проблему, но я реализую что-то в соответствии с примером из документации: RadMenu Client Side Events Documentation , и это может помочь. Мне нужно отключить случайные дочерние и топовые элементы.
navigateUrl всегда будет поддельным якорем "#", если он не указан. Проблема в том, что он также делает это для событий щелчков, которые я хочу обработать на сервере, плюс мое rad menu выполняет смесь привязок к вложенным файлам сайта и динамически добавляет пункты меню с помощью кода, поэтому сейчас я решил проверить текст пункта меню, сделав следующее:
<script type="text/javascript">
function mainRadMenu_OnClientItemClicking( sender, eventArgs ) {
var item = eventArgs.get_item();
var itemText = item.get_text();
var textOfMenuItemsToNotBeClicked = ['Tools', 'Links', 'No Links', 'Services', 'Summary Reports', '<%= GetOrganizationsAcronymMenuText %>'];
var totalMenuItemsToNotBeClicked = textOfMenuItemsToNotBeClicked.length;
while ( totalMenuItemsToNotBeClicked-- ) {
if ( itemText.indexOf( textOfMenuItemsToNotBeClicked[totalMenuItemsToNotBeClicked] ) !== -1 ) {
eventArgs.set_cancel( true );
}
}
}
</script>
<telerik:RadMenu ID="RadMenu1" runat="server" OnClientItemClicking="onClicking">
...
</telerik:RadMenu>
Я уверен, что есть более элегантное решение, я мог бы по крайней мере переместить строки в файл ресурсов и сослаться на них, но пока это работает ...