User controls use the file extension .ascx instead of .aspx
User controls' code-behind files inherit from the System.Web.UI.UserControl class.
The .ascx file for a user control begins with a <%@ Control %> directive instead of a <%@ Page %> directive.
User controls can't be requested directly by a web browser.
Instead, they must be embedded inside other web pages.
File: Control.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Control.ascx.cs" Inherits="Footer" %>
File: Control.ascx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Footer : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
lblFooter.Text = "This page was served at ";
if (format == FooterFormat.LongDate)
{
lblFooter.Text += DateTime.Now.ToLongDateString();
}
else if (format == FooterFormat.ShortTime)
{
lblFooter.Text += DateTime.Now.ToShortTimeString();
}
}
public enum FooterFormat
{ LongDate, ShortTime }
private FooterFormat format = FooterFormat.LongDate;
public FooterFormat Format
{
get { return format; }
set { format = value; }
}
}
File: Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="FooterHost" %>
<%@ Register TagPrefix="rntsoft" TagName="Footer" Src="Control.ascx" %>
Footer Host
File: Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class FooterHost : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (optLong.Checked)
{
Footer1.Format = Footer.FooterFormat.LongDate;
}
else if (optShort.Checked)
{
Footer1.Format = Footer.FooterFormat.ShortTime;
}
}
}