Hello All,
Today I will try to deliberate my experience on custom event creation in .NET , Actually I was trying to find something like hands on for event creation in .NET application, suddenly I got a quick help from one of my brother Sadique, who helped me out to resolve the thirst.
We are going to create a custom control where we will define our event class and event handler.To do that first take a user control named InputControl.ascx . The ascx page is as bellow.
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="InputControl.ascx.cs" Inherits="InputControl" %>
<asp:Label ID="lblLabel" runat="server" Text=""></asp:Label>
<br />
<asp:TextBox ID="txtTextBox" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit"
onclick="btnSubmit_Click" />
In that page I put a textbox control to take input , a button control to fire our custom event handler and a label to show our input result through our custom event.
The InputControl.ascx.cs code behind file is as bellow :
using System;
public partial class InputControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string EventInputBox
{
get {
return this.txtTextBox.Text;
}
set {
this.txtTextBox.Text = value;
}
}
public string EventLabel {
get {
return this.lblLabel.Text;
}
set {
this.lblLabel.Text = value;
}
}
public event EventHandler<CustomEventArgs> CustomEventSubmit;
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (this.CustomEventSubmit != null)
this.CustomEventSubmit(this, new CustomEventArgs("your text is:" + EventInputBox));
}
}
public class CustomEventArgs : EventArgs
{
public string EventText { set; get; }
public CustomEventArgs(string eventTextData)
{
EventText = eventTextData;
/*
Perform other event tasks.
*/
}
}
Now I register the control in my Default.aspx page as bellow .
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="InputControl.ascx" tagname="InputControl" 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>
<uc1:InputControl ID="icEventBox" runat="server" OnCustomEventSubmit="icEventBox_CustomEventSubmit" />
</div>
</form>
</body>
</html>
In the file above we have to focus on OnCustomEventSubmit="icEventBox_CustomEventSubmit" which is pointing our custom event.
The code behind file Default.aspx.cs is as bellow.
using System;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void icEventBox_CustomEventSubmit(object sender, CustomEventArgs e)
{
icEventBox.EventLabel = e.EventText;
}
}
In the above article I didn’t go for much brief discussion , I think the code is sufficient to describe a custom event itself.
That’s all for the day.
BYE
2 responses to “Custom Event in .NET”
This is a nice post for understanding event driven programming. But you can clarify more by giving easy example. It seems to me somewhat complex.
Visit this to get a good article
need more description.