ASP.NET中WEB用户控件和自定义控件

原创 2007年10月13日 16:38:00

 自定义控件中UserControl(用户控件)和CustomControl(自定义控件)的区别

Web用户控件与自定义控件的设计都是为了实现代码的重用.使程序开发者开发时方便快捷,提高开发效率。
虽然Web用户控件与自定义控件的实现都是为了实现代码的重用,但是它们各自具有各自的特点,适合使用在不同场合,开发者开发时要能准确,高效的使用好这两类控件。需从研究两者的区别出发作出合理选择。

 

Web 用户控件易于创建,但它们在高级方案中使用起来可能不太方便。开发 Web 用户控件的方式与开发 Web 窗体页的方式几乎完全相同。与 Web 窗体相似,用户控件可以在可视化设计器中创建,可以使用与 HTML 隔离的代码来编写,并且可以处理执行事件。但是,由于 Web 用户控件在运行时动态地进行编译,所以不能将它们添加到工具箱中,而且它们在添加到页面上时由简单的占位符标志符号来表示。如果您习惯于完全的 Visual Studio .NET 设计时支持(包括“属性”窗口和“设计”视图预览),这将会使 Web 用户控件使用起来更不方便。此外,在应用程序之间共享用户控件的唯一方式是将一个单独的副本放入每个应用程序,因此如果对该控件作出了更改,将需要进行比较多的维护。

Web 自定义控件是编译的代码,这使得 Web 自定义控件更易于使用但更难于创建;Web 自定义控件必须使用代码来创建。一旦创建该控件,那么,您就可以将其添加到工具箱中,并在具有完全“属性”窗口支持和 ASP.NET 服务器控件的其他所有设计时功能的可视化设计器中显示该控件。此外,还可以在全局程序集缓存中安装 Web 自定义控件的单个副本,并在应用程序之间共享该副本,这将使维护变得更容易。有关更多信息,请参见全局程序集缓存。

如果您的控件包含大量静态布局,用户控件则可能是较佳的选择。如果您的控件主要是动态生成的(例如数据绑定表的行、树视图的节点或选项卡控件的选项卡),自定义控件则可能是较佳的选择。

下表概述了这两种类型之间的主要区别:

Web 用户控件 Web 自定义控件
易于创建 难于创建
 为使用可视化设计工具的使用者提供有限的支持 为使用者提供完全的可视化设计工具支持
每个应用程序中需要控件的一个单独副本  仅在全局程序集缓存中需要控件的单个副本
不能添加到 Visual Studio 中的工具箱 可以添加到 Visual Studio 中的工具箱
适用于静态布局  适用于动态布局

(注:用户控件扩展名为 .ascx 创建及使用与.aspx类似有相应页面文件和后台CS文件,自定义控件扩展名为.CS为单独一文件)

一个 Web 用户控件与一个完整的 Web 窗体页相似,它们都包含一个用户界面页和一个代码隐藏文件。该用户界面页在以下方面与 .aspx 文件不同: 用户控件扩展名必须为 .ascx。
用户控件中不包含 <HTML>、<BODY> 和 <FORM> 元素(这些元素必须位于宿主页中)。
在其他任一方面,用户控件都与 Web 窗体页相似。在用户控件上可以使用与标准 Web 窗体页上相同的 HTML 元素和 Web 控件。例如,如果您要创建一个将用作工具栏的用户控件,则可以将一系列“按钮”(Button) Web 服务器控件放在该控件上,并创建这些按钮的事件处理程序。

 

用户控件和自定义控件异同

关 键 词:Server Control 服务器控件 User Control 用户控件,ASP.NET服务器控件的一种(一般后缀名为.ASCX文件) Custom Control 自定义控件,ASP...
  • Qim
  • Qim
  • 2007-08-01 09:23:00
  • 2929

ASP.NET中的用户控件和用户自定义控件

用户控件:        用户控件是用户自定义的可重用的一种控件,它的使用由HTML和Web服务器控件使用相同的技巧。开发人员能够根据程序的需要,定义和编写用户控件,开发所使用的编程技术与Web窗体编...
  • dandanzmc
  • dandanzmc
  • 2013-10-07 17:39:55
  • 8097

ASP.NET中WEB用户控件和自定义控件

 自定义控件中UserControl(用户控件)和CustomControl(自定义控件)的区别Web用户控件与自定义控件的设计都是为了实现代码的重用.使程序开发者开发时方便快捷,提高开发效率。虽然W...
  • aaronbai
  • aaronbai
  • 2007-10-13 16:38:00
  • 2563

创建用户控件

                  方式一1.打开"添加新项"对话框,选择“WEB用户控件”,输入文件名后点击添加(注:文件后缀为ascx)。2.跟据需要,创建自定义控件。如创建一个登陆界面,并编写好...
  • stevenjin
  • stevenjin
  • 2008-05-15 15:46:00
  • 492

用户控件和自定义控件的区别

具体的讲,用户控件和自定义控件可以从以下几个方面来说明它们的区别: 1、使用率 在选择使用用户控件和自定义控件时,可以首先考虑使用率。如果开发的应用程序只是需要小范围的使用,则可以考虑用户控件,而...
  • ahao214
  • ahao214
  • 2013-01-09 10:52:27
  • 405

【asp.net】用户控件&自定义控件

在原来的学习中,从vb到asp.net我们都接触了很多的控件,这些控件为我们的程序开发提供了很多的便利,在程序开发中,许多功能或代码都需要重复的使用,我们在牛腩的时候学习了模板方法和重复代码添加工具箱...
  • u013046597
  • u013046597
  • 2015-08-08 16:45:38
  • 1632

自定义控件的使用以及与用户控件的区别

1、自定义控件的使用  a)首先我新建立了一个空的解决方案,在解决方案中新建了网站,用于测试自定义的控件;  b)在解决方案中=>添加新项目=>在已安装的模板中选择“Asp.NET服务器控件”,确定后...
  • wl_ldy
  • wl_ldy
  • 2010-07-21 10:55:00
  • 4640

关于用户控件和自定义控件的区别的总结

初次接触ASP.NET ,对于用户控件和自定义控件不是特别的明白,故在此做一下总结。 用户控件          定义:用户控件是能够在其中放置标记和Web 服务器控件的容器。然后,可以将用户控件...
  • u010375663
  • u010375663
  • 2014-11-09 11:27:50
  • 1372

用户控件

网页页面一些经常用到的,逻辑意义上聚集成一块的HTML标签、控件,甚至包括javascript代码,可以提炼封装成用户控件。这样做有很多好处:1、有利于重用2、封装一些代码,屏蔽一些细节,逻辑清晰,使...
  • JOHNCOOLS
  • JOHNCOOLS
  • 2006-12-26 15:09:00
  • 707
收藏助手
不良信息举报
您举报文章:ASP.NET中WEB用户控件和自定义控件
举报原因:
原因补充:

(最多只允许输入30个字)