using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
namespace BasicCompent
{
public abstract class BaseSkinCtrl:WebControl
{
protected override HtmlTextWriterTag TagKey
{
get
{
return HtmlTextWriterTag.Div;
}
}
public string SkinPath
{
get { return ViewState["SkinPath"]; }
set { ViewState["SkinPath"] = value; }
}
public abstract void InitControl(Control ctrl);
}
public class AgentRegister : BaseSkinCtrl
{
private TextBox _agentName;
private Button _okBtn;
private Button _cancelBtn;
public override void InitControl(Control ctrl)
{
_okBtn = (Button)ctrl.FindControl("K");
_okBtn.Click += new EventHandler(_okBtn_Click);
_cancelBtn = (Button)ctrl.FindControl("C");
_cancelBtn.Click += new EventHandler(_cancelBtn_Click);
_agentName = (TextBox)ctrl.FindControl("N");
this.Load += new EventHandler(AgentRegister_Load);
}
protected override void OnInit(EventArgs e)
{
Control ctrl = Page.LoadControl(base.SkinPath);
InitControl(ctrl);
}
void AgentRegister_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
_agentName.Text = "Load Ok";
}
}
void _cancelBtn_Click(object sender, EventArgs e)
{
_agentName.Text = "Cancel";
}
void _okBtn_Click(object sender, EventArgs e)
{
_agentName.Text = "Confirm";
}
}
public abstract class BaseUserControl : System.Web.UI.UserControl
{
public virtual BaseUserControl ProcessThisControl()
{
return this;
}
}
}
---------------------------
<pages>
<controls>
<add tagPrefix="cc" namespace="BasicCompent"/>
</controls>
</pages>
---------------------------default.aspx---------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>
<cc:AgentRegister ID="xk" SkinPath="~/AgSkin.ascx" runat="server" />
</div>
</form>
</body>
</html>
-------------------------------------------------------------------------AgSkin.ascx-------------------
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AgSkin.ascx.cs" Inherits="AgSkin" %>
<asp:TextBox ID="N" runat="server" ></asp:TextBox>
<asp:Button ID="C" runat="server" Text ="Cancel" />
<asp:Button ID="K" runat="server" Text="OK" />
-----------------------------------------------------------------------------------------