zoukankan      html  css  js  c++  java
  • 自定义控件快速入门

    下面是一个自定义控件的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>

  • 相关阅读:
    mfc窗口,父窗口parentwindow,所有者窗口ownerwindow 区别
    svn冲突问题详解 SVN版本冲突解决详解
    input的on(‘input’,function(0{})事件
    input 输入框两种改变事件的方式
    JSON格式
    AJAX的dataType问题
    什么是跨域请求?
    JSON.parse()和JSON.stringify()使用介绍
    .replace(/-/g,"/")的用法
    docker 实践(一)
  • 原文地址:https://www.cnblogs.com/qlbk/p/3000890.html
Copyright © 2011-2022 走看看