Listing 2: The code-behind file for the user control

namespace TestCtrls
{
  using System;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;

  /// <summary>
  ///    Summary description for DateRangeUserControl.
  /// </summary>
  public abstract class DateRangeUserControl : System.Web.UI.UserControl
  {
    protected System.Web.UI.WebControls.TextBox beginDateTxtBox;
    protected System.Web.UI.WebControls.RequiredFieldValidator beginDateTxtBoxReqFieldVal;
    protected System.Web.UI.WebControls.RequiredFieldValidator endDateTxtBoxReqFieldVal;
    protected System.Web.UI.WebControls.TextBox endDateTxtBox;

    private void Page_Load(object sender, System.EventArgs e)
    {
      // Put user code to initialize the page here
    }
    /// <summary>
    /// Begin Date Property
    /// </summary>
    /// <param name="e"></param>
    public string BeginDate
    {
      get
      {
        return ((beginDateTxtBox != null) ? beginDateTxtBox.Text:"");
      }
      set
      {
        if(beginDateTxtBox != null)
        {
          beginDateTxtBox.Text=value;
        }
      }
    }
    public string EndDate
    {
      get
      {
        return ((endDateTxtBox != null)?endDateTxtBox.Text:"");
      }
      set
      {
        if(endDateTxtBox != null)
        {
          endDateTxtBox.Text=value;
        }
      }
    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
      //
      // CODEGEN: This call is required by the ASP.NET Web Form Designer.
      //
      InitializeComponent();
      base.OnInit(e);
    }
    
    ///    Required method for Designer support - do not modify
    ///    the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
      this.Load += new System.EventHandler(this.Page_Load);

    }
    #endregion
  }
}