在asp.net中为Web用户控件添加属性和事件(2)
点击次数:19 次 发布日期:2008-11-26 13:48:01 作者:源代码网
|
源代码网推荐 { 源代码网推荐 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)。 源代码网推荐 源代码网供稿. |
