Hello
I have a web user control that fires 2 events - Event1 and Event2 and I want when the control fires Event1 then Event1Panel to postback, and the same when Event2 fires then Event2Panel postbacks. Here is some code:
I have a web user control that fires 2 events - Event1 and Event2 and I want when the control fires Event1 then Event1Panel to postback, and the same when Event2 fires then Event2Panel postbacks. Here is some code:
Default.aspx
<%@ Register Src="WebUserControl.ascx" TagName="WebUserControl" TagPrefix="uc1" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head runat="server"> |
<title></title> |
</head> |
<body> |
<form id="form1" runat="server"> |
<div> |
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
</telerik:RadScriptManager> |
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="WebUserControl1" EventName="Event1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="Event1Panel" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="WebUserControl1" EventName="Event2"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="Event2Panel" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
</div> |
<uc1:WebUserControl ID="WebUserControl1" runat="server" /> |
<asp:Panel ID="Event1Panel" runat="server"> |
Event1Panel<br /> |
<%= DateTime.Now.ToString() %> |
</asp:Panel> |
<asp:Panel ID="Event2Panel" runat="server"> |
Event2Panel<br /> |
<%= DateTime.Now.ToString() %> |
</asp:Panel> |
</form> |
</body> |
</html> |
WebUserControl.ascx
<asp:Button ID="btn1" runat="server" Text="Event1" /> |
<asp:Button ID="btn2" runat="server" Text="Event2" /> |
public partial class WebUserControl : System.Web.UI.UserControl |
{ |
public event EventHandler<EventArgs> Event1; |
protected virtual void OnEvent1(EventArgs args) |
{ |
if (Event1 != null) |
{ |
Event1(this, args); |
} |
} |
public event EventHandler<EventArgs> Event2; |
protected virtual void OnEvent2(EventArgs args) |
{ |
if (Event2 != null) |
{ |
Event2(this, args); |
} |
} |
protected void Page_Load(object sender, EventArgs e) |
{ |
btn1.Click += delegate(object o, EventArgs args) |
{ |
OnEvent1(EventArgs.Empty); |
}; |
btn2.Click += delegate(object o, EventArgs args) |
{ |
OnEvent2(EventArgs.Empty); |
}; |
} |
} |
Why this is not working??