用户控件之初学者

来源:互联网 发布:ubuntu core安装 编辑:程序博客网 时间:2024/06/01 08:42
        由于前几天家里网络不给力,关于用户控件早就想写点自己的总结。今晚终于可以把这篇文章给补上。

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

       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" onclick="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代码中,可以访问该属性。可以结合前面一篇‘获取某个月的第一天和最后一天

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

原创粉丝点击