打印本文 打印本文 关闭窗口 关闭窗口
在asp.net中为Web用户控件添加属性和事件
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1752  更新时间:2009/4/23 10:50:01  文章录入:mintao  责任编辑:mintao
;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace ZZ
{
 public class Default : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Label LabelMsg;
  protected System.Web.UI.WebControls.DropDownList DropDownList1;
  protected LogInOutControl LogInOutControl1;
  private void Page_Load(object sender, System.EventArgs e)
  {
   //注册用户控件事件
   this.LogInOutControl1.LogInOutClick += new LogInOutClickHandler(LogInOutControl1_LogInOutClick);
  }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   InitializeComponent();
   base.OnInit(e);
  }
  private void InitializeComponent()
  {   
   this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
  private void LogInOutControl1_LogInOutClick(object sender, LogInOutEventArgs e)
  {
   switch(e.Type)
   {
    case LogInClickType.LongIn:
     this.LabelMsg.Text = "你点击了登录按钮,操作结果:"+e.Result.ToString();
     break;
    case LogInClickType.LongOut:
     this.LabelMsg.Text = "你点击了注销按钮,操作结果:"+e.Result.ToString();
     break;
   }
  }
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   this.LogInOutControl1.Lg = (Language)this.DropDownList1.SelectedIndex;
   //this.LogInOutControl1.ChangeLanguage((Language)this.DropDownList1.SelectedIndex);
  }
 }
}


当用户在前台通过选择下拉框列表来改变控件的语言,这里通过Lg属性来完成,不过这里也加了一个方法ChangeLanguage也可以实现同样的功能。另外,通过点击登陆或注销按钮触发LogInOutClick事件来给页面中的LabelMsg.Text属性赋值从而得到操作结果。
       总结,用户控件为程序员带来了很高的开发效率和重用性,更是在性能方面有了很大的提高,以前称为Asp+,其实我认为Asp.net跟Asp没有什么直接联系。而且我想做应用程序的朋友和我一样在开发Web程序时更喜欢采用代码分离方式,这样结构更清晰,便与修改和管理。同Asp程序相比,他是编译型的,引入了面向对象的设计思想,也就不可避免的带来了他的复杂性,要想开发高水准的Asp.net程序,对于模式的设计,层次结构的划分,这里还是比较讲究的。总之,他更像是在编Windows窗体程序,而不是在写VB脚本。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口