首页 > 代码库 > ASP.NET总结——Web自定义控件
ASP.NET总结——Web自定义控件
北大青鸟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)
找到该文件后,在它前面打勾,确定。如图:
这个时候在工具箱中应该能看到它,如果看不到,请在空白处右击——显示全部。
然后把控件直接拖到设计窗口,如图:
看来,自己制作控件也是很简单的啊!
ASP.NET总结——Web自定义控件