ASP.NET总结——Web自定义控件

来源:互联网 发布:淘宝发货物流单号修改 编辑:程序博客网 时间:2024/06/05 17:11

       北大青鸟ASP.NET的视频,向我们介绍了用户控件和自定义控件。

       先简单说一下这两者的明显的区别。

  • 用户控件的扩展名为.aspx;自定义控件的扩展名为.dll。
  • 用户控件使用时,需要把该文件放到应用程序的目录下;自定义控件使用时,则可以把它添加到工具箱。

       这里,我主要介绍怎么创建Web自定义控件。

       在VS2010中,已经没有Web控件库了,那怎么办哩?

       看看自定义控件的类型.dll,你有没有想到什么呢?还记不记得我们的DAL.dll,BLL.dll……,那么从本质上说,它们是一样的东西。

       所以,第一步,我们首先建立一个类库。

       

       图中标注“注意”处:这个类库的.NET Framework版本要和你的Web应用程序的.NET Framework版本一致,否则之后在工具箱中添加该自定义控件时,控件显示为灰色,不可用。

       第二步,添加一个类。

         

       第三步,添加引用——System.Web

       第四步,在类中引入命名空间:System.Web 和System.Web.UI

       第五步,给这个自定义控件添加属性,以下代码,是给该控件添加一个Text属性。

       

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;using System.Web.UI ;//HtmlTextWriter 在此命名空间下using System.ComponentModel;namespace ClassLibrary1{    /// <summary>    /// WebCustomControl1的摘要说明    /// </summary>    [DefaultProperty ("Text"),ToolboxData ("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]    public class WebCustomControl1:System .Web .UI .WebControls .WebControl     {        private string text;        /// <summary>        /// Text属性        /// </summary>        public string Text        {            get { return text; }            set { text = value; }        }        /// <summary>        /// 将此控件呈现出给定的HTML编写器        /// </summary>        /// <param name="output">要写出的HTML编写器</param>        protected  override void Render(HtmlTextWriter output)        {            this.Text = "<font size=18px><b>你好</b></font>";            output.Write(Text);        }    }}

       第六步,生成类库。

       第七步,新建一个ASP.NET程序,新建一个Web窗体,在工具箱的空白处右击——选择项——浏览——找到刚才你创建的那个类库文件夹下的Debug文件下的Bin文件夹(如:ClassLibrary1\Debug\Bin\ClassLibrary1.dll)

       找到该文件后,在它前面打勾,确定。如图:

       

       

       这个时候在工具箱中应该能看到它,如果看不到,请在空白处右击——显示全部。

            


       然后把控件直接拖到设计窗口,如图:

       

       看来,自己制作控件也是很简单的啊!

6 0