现在的位置: 首页 > 综合 > 正文

皮肤控件———————皮肤控件

2013年12月15日 ⁄ 综合 ⁄ 共 2887字 ⁄ 字号 评论关闭
using System;
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" />
-----------------------------------------------------------------------------------------

抱歉!评论已关闭.