ASP.NET中设置两级菜单联动用户控件的属性为外部使用

用户控件的好处有许多,比如解决了代码的可重用性,简化了代码等等,打包自己比较经常使用的控件组合为WEB用户控件,提供外部调用的属性接口和方法,将会为以后的工作带来许多方便。文章难度为初级。

 

本文以一个两级联动的DropDownList的组合用户控件为例子,描述如何提供简单的外部属性访问,提高代码的复用性。本文使用了ajax框架anthem.NET和企业库,但不是本文论述的重点。

 

使用的环境为:VS2005anthem.NETEnterprise Lib 2003

 

按惯例,先给出效果图:

 

 

下面是步骤:

1.  添加新的Web用户控件WebUserControl.ascx

 

2.  拖入两个DropDownList控件,如效果图那样做好布局(按钮和文本框是用户控件以外的),注意设置下DropDownList1AutoPostBack=true(Anthem.NET框架中就是设置AutoCallBack=true)用户控件的代码如下:

 

  1. public partial class UserControls_WebUserControl : System.Web.UI.UserControl
  2. {
  3.     public string List1
  4.     {
  5.         get { return DropDownList1.SelectedValue; }
  6.         set { DropDownList1.SelectedValue = value; }
  7.     }
  8.     public string List2
  9.     {
  10.         get { return DropDownList2.SelectedValue; }
  11.         set { DropDownList2.SelectedValue = value; }
  12.     }
  13.     protected void Page_Load(object sender, EventArgs e)
  14.     {
  15.         if (!IsPostBack)
  16.         {
  17.             List1Bind();
  18.             DropDownList1.UpdateAfterCallBack = true;
  19.          }
  20. }
  21.     protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
  22.     {        
  23.         List2Bind();
  24.         DropDownList2.UpdateAfterCallBack = true;       
  25.     }
  26.     /// <summary>
  27.     /// 绑定DropDownList1
  28.     /// </summary>
  29.     private void List1Bind()
  30.     {
  31.        //数据绑定代码
  32.     }
  33.     /// <summary>
  34.     /// 绑定DropDownList2
  35.     /// </summary>
  36.     private void List2Bind()
  37.     {
  38.         //数据绑定代码
  39.     }
  40. }

3.然后新建一个web窗体test.aspx,拖入刚才新建的用户控件WebUserControl.ascx,再在用户控件下方添加一个按钮和一个文本框,添加代码如下:

  1. public partial class test : System.Web.UI.Page
  2. {
  3.     protected void Page_Load(object sender, EventArgs e)
  4.     {
  5.     }
  6.     protected void Button1_Click(object sender, EventArgs e)
  7.     {       
  8.        TextBox1.Text = WebUserControl1.List1 + "->" + WebUserControl1.List2;
  9.     }    
  10. }

4.  运行浏览效果吧

 

总结

本例子将用户控件的属性和内部的子控件进行关联,并设置为可读可写,在实际应用中,最好把set删除掉,也就是只允许读,或者可以在set代码那里添加一些异常处理,用户控件还可以添加事件,有时间我会做些详细的补充。

博客地址:http://blog.csdn.net/much0726

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值