• 自定义控件快速入门


    下面是一个自定义控件的demo : 可设置默认值的的文本框控件。

    1.新建类库CustomerControl , 添加引用system.web.UI 和system.web.UI.WebControls。

      System.Web.UI: 包含ASP.NET服务器控件基本的类,Control类位于该命名空间下。

      System.Web.UI.WebControls: 包含在页面上创建ASP.NET服务端控件的类,常用的Button、TextBox位于该命名空间下。

    2.添加类 命名为DefaultTextBox,并继承WebControl;

    3. 添加属性 DefaultValue ;将值保存到ViewState中防止回发时数据丢失。

       public string DefaultValue
            {
                get
                {
                    object obj = ViewState["defaultValue"];
                    return obj == null ? string.Empty : Convert.ToString(obj);
                }
                set
                {
                    ViewState["defaultValue"] = value;
                }
            }

    4.重写CreateChildControls方法用于添加自己的控件;

      protected override void CreateChildControls()        

       {          

             TextBox txt = new TextBox();         

              txt.Text = DefaultValue;

           txt.Style.Add(HtmlTextWriterStyle.Color,"gray");// 设置字体为灰色

                  this.Controls.Add(txt);

                   base.CreateChildControls();    

         }

    5.ok,搞定了。编译项目,生成CustomerControl.dll。

    6.网站添加引用CustomerControl.dll, 向你的网页注册该用户控件:<%@ Register Namespace="CustomControl" Assembly="CustomControl" TagPrefix="txt" %>;之后就可以像用微软的服务端控件一样了。

     <txt:DefaultTextBox runat="server" DefaultValue="百度一下">
     </txt:DefaultTextBox>

  • 相关阅读:
    php字符串截取
    Linux配置网络
    Linux FTP服务
    linux复习一
    解决phpcms V9整合discuz! X3.0后,在phpcms新注册用户需要在discuz激活的问题
    Discuz整合ECShop同步登出的问题解决
    Validator表单验证类
    JAVA学习之疯狂JAVA讲义知识分享
    Android中View绘制流程以及invalidate()等相关方法分析
    Android View的生命周期详解
  • 原文地址:https://www.cnblogs.com/qlbk/p/3000890.html
Copyright © 2020-2023  润新知