1、自定义控件的使用
a)首先我新建立了一个空的解决方案,在解决方案中新建了网站,用于测试自定义的控件;
b)在解决方案中=>添加新项目=>在已安装的模板中选择“Asp.NET服务器控件”,确定后,
默认就会生成一个ServerControl的控件项目,在这个控件项目中就可以添加自定义的控件了。
c)创建一个显示当前日期的自定义控件
代码如下:
这样自定义的控件创建完毕。
d)将自定义的控件添加到工具箱中
点击工具箱中的“选择项”=>在弹出的对话框中选择“浏览”=>选择刚才编译好的dll文件,
这时会在.Net Framework组件中添加上已选的dll,点确定后就会将自定义的控件添加到工具箱中。
e)在web页面中直接使用自定义的控件
和使用Label控件一样,直接从工具栏中将自定义的控件拖动到web页面中即可。
在web中显示的结果如下:
f)注意:在Web项目中使用自定义控件时,最好是添加对自定义控件的引用,如果添加了引用,
当自定义控件修改编译后,Web项目中的控件也会自动的修改。
2、用户控件的使用
a)用户控件声明性语法与用于创建 ASP.NET 网页的语法非常相似。主要的差别在于:用户控件使用 @ Control 指令取代了 @ Page 指令,并且用户控件在内容周围不包括 html 、body 和 form 元素。
b)在Web项目中=>添加新项=>选择Web用户控件,确定后新的用户控件生成。
c)生成的.ascx控件和.aspx页面一样
添加的代码如下:
前台代码如下:
这样一个用户控件创建完毕。
d)使用用户控件
显示的页面如下:
3、自定义控件和用户控件的区别
a)用户控件易于创建,为使用可视化设计工具的使用者提供有限的支持,每个应用程序中需要控件的一个单独副本,不能添加到visual studio 工具箱中,适用于静态布局,它们在高级方案中使用起来可能不太方便。
自定义服务器控件是经过编译的代码,这使其易于使用但难于创建。它为使用者提供完全的可视化设计工具支持,仅在全局程序集缓存中需要控件的单个副本,可以添加到visual studio 中的工具箱,适用于动态布局。
如果您的控件包含大量静态布局,用户控件则可能是较佳的选择。如果您的控件主要是动态生成的,自定义控件则是较佳的选择。
b) 用户控件(UserControl): 扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中 加载的功能块,只是用户控件不能单独作为页面运行,必须嵌入到*.aspx页面或其它用户控件中使用.
自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里面,直接用鼠标拖动使用.
4、 控件的呈现方法(Rendering)的内核
参照:http://blog.csdn.net/21aspnet/archive/2005/03/12/318347.aspx