我正在尝试使用ItemClick
控件的RadMenu
事件;但是,根据to this article,如果我设置了NavigateUrl
属性,我就无法这样做。
ItemClick事件不会触发
...
您已设置菜单项的NavigateUrl属性。
这有效地禁用了PostBacks(OnItemClick事件),因为该项目导航到特定的URL而不是回发。
在文章中,Telerik建议使用ItemCreated
事件的简单解决方法。不幸的是,ItemCreated
事件并没有为我开火,我不确定原因。
这是我的RadMenu
和代码隐藏:
<telerik:RadMenu ID="RadMenu1" runat="server" OnItemCreated="RadMenu1_ItemCreated">
<Items>
<telerik:RadMenuItem runat="server" NavigateUrl="http://www.test.com" Text="Test" Target="_blank"></telerik:RadMenuItem>
<telerik:RadMenuItem runat="server" NavigateUrl="http://www.test.com" Text="Test 2" Target="_blank"></telerik:RadMenuItem>
</Items>
</telerik:RadMenu>
protected void RadMenu1_ItemCreated(object sender, RadMenuEventArgs e)
{
e.Item.Attributes["NavigateUrl"] = e.Item.NavigateUrl;
e.Item.NavigateUrl = "";
}
任何想法我可能做错了以及如何解决它?
答案 0 :(得分:0)
我看不到因为你的代码没有触发ItemCreated但是你可以使用这个代码在任何其他事件中做同样的事情,比如Page_Load
foreach (RadMenuItem item in RadMenu1.Items)
{
item.Attributes["NavigateUrl"] = item.NavigateUrl;
item.NavigateUrl = "";
}