Hi,
I followed thes steps written in following discussion
ItemClick event not firing
But it still not firing the event.
I got the where the problem is but dont know how to solve. Please help me!!!!
Note: I am working in SharePoint ( WSS 3.0 )
I am using "RadMenu.NET2" dll of version 4.4.6.0 which I placed in GAC.
I want to use this in a web part. But for example purpose I created one asp.net application and I am creating RadMenu dynamically.
The Revised code is
public partial class _Default : System.Web.UI.Page
{
RadMenu menu = new RadMenu();
protected void Page_Init(object sender, EventArgs e)
{
menu.ItemCreated += new RadMenuEventHandler(menu_ItemCreated);
}
protected override void CreateChildControls()
{
base.CreateChildControls();
//menu = new RadMenu();
menu.ID = "radmenucontrol";
menu.Items.Add(new RadMenuItem("Google", "http://www.google.com"));
menu.Items.Add(new RadMenuItem("Google1", "http://www.google.com"));
menu.Items.Add(new RadMenuItem("Google2", "http://www.google.com"));
menu.Items.Add(new RadMenuItem("Google", "http://www.google.com"));
menu.Items.FindItemByText("Google").Items.Add(new RadMenuItem("Yahoo", "Default.aspx"));
menu.Items.FindItemByText("Google").Items.Add(new RadMenuItem("Yahoo1", "Default.aspx"));
menu.ItemClick += new RadMenuEventHandler(menu_ItemClick);
this.Controls.Add(menu);
}
void menu_ItemCreated(object sender, RadMenuEventArgs e)
{
e.Item.Attributes["NavigateUrl"] = e.Item.NavigateUrl;
e.Item.NavigateUrl = "";
}
void menu_ItemClick(object sender, RadMenuEventArgs e)
{
Response.Redirect(e.Item.Attributes["NavigateUrl"].ToString());
}
}
But it does not work. So what I tried is, I registered reference of "RadMenu.NET2" in my .aspx page like
<%@ Register TagPrefix="rad" Namespace="Telerik.WebControls" Assembly="RadMenu.NET2" %>
And Added one radmenu control at design time. Added some Items and add menu click event also and it works. The menu click event is firing...
And I found that when I create RadMenu control dynamically it does not create following javascript code in html. I checked it in ViewSource.
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
and is also not creating two hidden controls
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
But when I create RadMenu at design time, it creates this hidden control and Javascipt also...
Can u please help me, how to solve this????
Thanks
Savan