在我的代码中,
MenuList = new Telerik.Web.UI.RadMenuItem();
MenuChild1 = new Telerik.Web.UI.RadMenuItem();
MenuList.Text = "Orders";
MenuList.Value = "Orders";
RadMenu_Control.Items.Add(MenuList);
if (genRights.Find(delegate(UserRights u) { return u.RIGHT_NAME == "Group Master"; }) != null`enter code here`)
{
CategoryList = new Telerik.Web.UI.RadMenuItem();
CategoryList.Text = "Purchase Order";
CategoryList.Value = "order";
MenuList.Items.Add(CategoryList);
//MenuChild1 = new Telerik.Web.UI.RadMenuItem();
//MenuChild1.Text = "PURCHASE ORDER";
//MenuChild1.Value = "order";
//MenuList.Items.Add(MenuChild1);
}
else
{
}
现在在此我想禁用点击“订单”不在“购买者订单”上,因为它是子项目。
答案 0 :(得分:3)
首先,您需要将事件“OnClientItemClicking”添加到您的RadMenu。像这样:
<telerik:RadMenu ID="RadMenu1" runat="server" OnClientItemClicking="DisableRootClick">
这是DisableRootClick javascript函数的主体:
function DisableRootClick (sender, args) {
if (args.get_item().get_items().get_count() != 0 && args.get_item().get_level() == 0) {
args.get_item().set_selected(false);
args.get_item().set_focused(false);
args.set_cancel(true); // Cancel the event
}
}
然后你去:)
答案 1 :(得分:1)
有一个更简单的解决方案:
在服务器端:
RadMenuItem.PostBack = False
当然,您可以使用
在控件中以声明方式执行此操作<telerik:RadMenu runat="server" ID="RadMenu1">
<Items>
<telerik:RadMenuItem runat="server" Text="RootMenu" PostBack="False" />
</Items>
</telerik:RadMenu>
答案 2 :(得分:0)
这不能解决您的问题,但我正在从文档中RadMenu Client Side Events Documentation实现本示例中的某些内容,这可能有所帮助。我需要禁用随机的子项和顶级项目。
如果未指定,navigateUrl将永远是假锚“#”。问题是它也为我想在服务器上处理的点击事件做了这个,加上我的rad菜单混合了嵌套的站点地图,并通过后面的代码动态添加菜单项,所以现在我决定测试文本执行以下操作的菜单项:
<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>
我确信有一个更优雅的解决方案,我至少可以将字符串移动到资源文件并引用它们,但现在可以使用...