用户控件之初学者

        由于前几天家里网络不给力,关于用户控件早就想写点自己的总结。今晚终于可以把这篇文章给补上。

       用户控件方便了很多通用功能的重复利用,这也是软件开发的一项原则,功能复用。首先,我们需要知道的是,怎么创建用户控件,然后就是怎么添加用户控件,最后。用户控件还可以自定义添加属性,并且为属性创建自己的数据类型。

       1. 创建用户控件:通过Add New Item,添加一个以ascx为扩展名的用户控件,并且添加自己需要的控件,以及JS脚本。
     <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DatePicker.ascx.cs" Inherits="AppTest.UserControl.DatePicker" %>
     <script src="../My97DatePicker/WdatePicker.js" type="text/javascript"></script>
     <script type="text/javascript">
     </script>
     <p>
     <asp:TextBox ID="picker" Width="100" Style="background-image:url(../My97DatePicker/skin/datePicker.gif); background-repeat:no-repeat; background-position:right; "
                  runat="server" οnclick="WdatePicker();">
    </asp:TextBox>
        </p>
      2. 怎么向页面中添加用户控件,需要分两步:
          第一步:注册用户控件,@ Register。
                          <%@ Register src="UserControl/DatePicker.ascx" tagname="DatePicker" tagprefix="uc1" %>
                         说明:src 指向要使用的用户控件
                                     tagname用在页面的用户控件声明中的标记名,通常它与用户控件的名称相同。
                                     tagprefix页面用户控件声明的缀。
                         先别急,结合第二步就能更好的理解上面所说内容。
          第二步:向页面中添加用户控件的标记,并且还可以在其上设置一些属性。

                         <uc1:DatePicker ID="firstDay" runat="server" />
          通过上面两步就完成了页面中用户控件的添加。
    另外,用户控件的注册,通过的做法并不是放到每个页面中进行注册,而是放到web.config中进行注册,方便后期用户控件的修改与维护。通过下面方式在web.config中进行注册。

<pages>
   <controls>
        <add tagPrefix="welluc1" tagName="DatePicker" src="~/UserControl/DatePicker.ascx" />
   </controls>
  </pages>

最后一个,我就简单的说说在用户控件的CodeBehind中定义属性,并且还可以定义自己的属性类型,如枚举、结构体等,要放在page_load方法外。下面是各DatePicler的Value属性的定义。
        public DateTime Value
        {
            get
            {
                if (!string.IsNullOrEmpty(picker.Text))
                    return Convert.ToDateTime(picker.Text);
                else
                    return default(DateTime);
            }
            set
            {
                //picker.Text = value.ToShortDateString();
                picker.Text = value.ToString("yyyy-MM-dd");
            }
        }

在用到此用户控件的页面CodeBehind代码中,可以访问该属性。可以结合前面一篇‘获取某个月的第一天和最后一天

时间不早喽,该睡觉了,^_^........

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值