Custom Controls ASP.Net Tutorial

File: CustomLinkButton.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace myControls
{
    public class CustomLinkButton : WebControl, IPostBackEventHandler
    {
        public event EventHandler Click;
        private string _Text;
        public string Text
        {
            get { return _Text; }
            set { _Text = value; }
        }
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            string eRef = Page.ClientScript.GetPostBackClientHyperlink(this, String.Empty);
            writer.AddAttribute(HtmlTextWriterAttribute.Href, eRef);
            base.AddAttributesToRender(writer);
        }
        protected override HtmlTextWriterTag TagKey
        {
            get
            {
                return HtmlTextWriterTag.A;
            }
        }
        protected override void RenderContents(HtmlTextWriter writer)
        {
            writer.Write(_Text);
        }
        public void RaisePostBackEvent(string eventArgument)
        {
            if (Click != null)
                Click(this, EventArgs.Empty);
        }
    }
}
            
File: Default.aspx
<%@ Page Language="C#" %>
<%@ Register TagPrefix="custom" Namespace="myControls" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    protected void CustomLinkButton1_Click(object sender, EventArgs e)
    {
        lblResults.Text = txtUserName.Text;
    }



    Show CustomLinkButton


    
    

            id="lblUserName"
        Text="User Name:"
        AssociatedControlID="txtUserName"
        Runat="server" />
            id="txtUserName"
        Runat="server" />
    
            id="CustomLinkButton1"
        Text="Submit"
        OnClick="CustomLinkButton1_Click"
        runat="server" />
    
            id="lblResults"
        EnableViewState="false"
        Runat="server" />