当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  在asp.net中为Web用户控件添加属性和事件(2)

 在asp.net中为Web用户控件添加属性和事件(2)

点击次数:19 次 发布日期:2008-11-26 13:48:01 作者:源代码网
源代码网推荐      namespace ZZ
源代码网推荐  {
源代码网推荐   using System;
源代码网推荐   using System.Data;
源代码网推荐   using System.Drawing;
源代码网推荐   using System.Web;
源代码网推荐   using System.Web.UI.WebControls;
源代码网推荐   using System.Web.UI.HtmlControls;
源代码网推荐  
源代码网推荐   // 定义代理
源代码网推荐   public delegate void LogInOutClickHandler(object sender,LogInOutEventArgs e);
源代码网推荐   public class LogInOutControl : System.Web.UI.UserControl
源代码网推荐   {
源代码网推荐   protected System.Web.UI.WebControls.Button ButtonLogIn;
源代码网推荐   protected System.Web.UI.WebControls.TextBox TextBoxUserName;
源代码网推荐   protected System.Web.UI.WebControls.TextBox TextBoxPassword;
源代码网推荐   protected System.Web.UI.WebControls.Button ButtonLogOut;
源代码网推荐   protected System.Web.UI.WebControls.Label LabelUser;
源代码网推荐   protected System.Web.UI.WebControls.Label LabelPassword;
源代码网推荐   public event LogInOutClickHandler LogInOutClick;
源代码网推荐   private Language language;
源代码网推荐   //方法
源代码网推荐   public void ChangeLanguage(Language language)
源代码网推荐   {
源代码网推荐   this.Lg = language;
源代码网推荐   }
源代码网推荐   //属性
源代码网推荐   public Language Lg
源代码网推荐   {
源代码网推荐   set
源代码网推荐   {
源代码网推荐   if(value!=this.language)
源代码网推荐   {
源代码网推荐   if(value==Language.English)
源代码网推荐   {
源代码网推荐   this.LabelUser.Text = "User:";
源代码网推荐   this.LabelPassword.Text ="Password:";
源代码网推荐   this.ButtonLogIn.Text = "LogIn";
源代码网推荐   this.ButtonLogOut.Text = "LogOut";
源代码网推荐   }
源代码网推荐   else
源代码网推荐   {
源代码网推荐   this.LabelUser.Text = "用户:";
源代码网推荐   this.LabelPassword.Text ="密码:";
源代码网推荐   this.ButtonLogIn.Text = "登录";
源代码网推荐   this.ButtonLogOut.Text = "注销";
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐   private void Page_Load(object sender, System.EventArgs e)
源代码网推荐   {
源代码网推荐   if(this.LabelUser.Text=="User:")
源代码网推荐   this.language = Language.English;
源代码网推荐   else
源代码网推荐   this.language = Language.Chinese;
源代码网推荐   }
源代码网推荐   private void OnLogInOutClick(object sender,LogInOutEventArgs e)
源代码网推荐   {
源代码网推荐   if(LogInOutClick!=null)
源代码网推荐   LogInOutClick(this,e);
源代码网推荐   }
源代码网推荐   #region Web 窗体设计器生成的代码
源代码网推荐   override protected void OnInit(EventArgs e)
源代码网推荐   {
源代码网推荐   InitializeComponent();
源代码网推荐   base.OnInit(e);
源代码网推荐   }
源代码网推荐  private void InitializeComponent()
源代码网推荐   {
源代码网推荐   this.ButtonLogIn.Click += new System.EventHandler(this.ButtonLogIn_Click);
源代码网推荐   this.ButtonLogOut.Click += new System.EventHandler(this.ButtonLogOut_Click);
源代码网推荐   this.Load += new System.EventHandler(this.Page_Load);
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   private void ButtonLogIn_Click(object sender, System.EventArgs e)
源代码网推荐   {
源代码网推荐   OnLogInOutClick(this,new LogInOutEventArgs(LogInClickType.LongIn,CustomValidate(this.TextBoxUserName.Text,this.TextBoxPassword.Text)));
源代码网推荐   }
源代码网推荐   private void ButtonLogOut_Click(object sender, System.EventArgs e)
源代码网推荐   {
源代码网推荐   //注销代码省略
源代码网推荐   OnLogInOutClick(this,new LogInOutEventArgs(LogInClickType.LongOut,true));
源代码网推荐   }
源代码网推荐   //验证函数
源代码网推荐   private bool CustomValidate(string userName,string password)
源代码网推荐   {
源代码网推荐   //验证代码省略,假设通过
源代码网推荐   return true;
源代码网推荐   }
源代码网推荐   }
源代码网推荐  }
源代码网推荐  另外一个文件定义了枚举和参数类:
源代码网推荐  using System;
源代码网推荐  namespace ZZ
源代码网推荐  {
源代码网推荐   public class LogInOutEventArgs : EventArgs
源代码网推荐   {
源代码网推荐   private LogInClickType type;
源代码网推荐   private bool result;
源代码网推荐  
源代码网推荐   public LogInOutEventArgs(LogInClickType type,bool result):base()
源代码网推荐   {
源代码网推荐   this.type = type;
源代码网推荐   this.result = result;
源代码网推荐   }
源代码网推荐   public LogInClickType Type
源代码网推荐   {
源代码网推荐   get{return this.type;}
源代码网推荐   }
源代码网推荐   //操作结果,
源代码网推荐   public bool Result
源代码网推荐   {
源代码网推荐   get{return this.result;}
源代码网推荐   }
源代码网推荐   }
源代码网推荐   //操作类型
源代码网推荐   public enum LogInClickType : int
源代码网推荐   {
源代码网推荐   LongIn,
源代码网推荐   LongOut
源代码网推荐   }
源代码网推荐   //定义语言
源代码网推荐   public enum Language
源代码网推荐   {
源代码网推荐   Chinese,
源代码网推荐   English
源代码网推荐   }
源代码网推荐  }
源代码网推荐  接下去看看在aspx页面里面使用。
源代码网推荐  新建一个Default.aspx页面,拖一个LogInOutControl用户控件到上面。
源代码网推荐  <%@ Register TagPrefix="uc1" TagName="LogInOutControl" Src="http://www.zzchn.com/edu/20080727/LogInOutControl.ascx" %>
源代码网推荐  <%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="ZZ.Default" %>
源代码网推荐  <%@ Import Namespace="ZZ" %>
源代码网推荐  <HTML>
源代码网推荐   <HEAD>
源代码网推荐   <title>WebForm1</title>
源代码网推荐   </HEAD>
源代码网推荐   <body>
源代码网推荐   <form id="Form1" method="post" runat="server">
源代码网推荐   <FONT face="宋体">
源代码网推荐   <uc1:LogInOutControl id="LogInOutControl1" runat="server">
源代码网推荐   </uc1:LogInOutControl>
源代码网推荐   <asp:Label id="LabelMsg" runat="server"></asp:Label>
源代码网推荐   <asp:DropDownList id="DropDownList1" runat="server" AutoPostBack="True">
源代码网推荐   <asp:ListItem Value="0" Selected="True">中文</asp:ListItem>
源代码网推荐   <asp:ListItem Value="1">英文</asp:ListItem>
源代码网推荐   </asp:DropDownList></FONT>
源代码网推荐   </form>
源代码网推荐   </body>
源代码网推荐  </HTML>
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华