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

test:一.如果现有的   ASP.NET   服务器控件都不符合应用程序的特定要求,则可以创建封装所需功能的   Web   用户控件或   Web   自定义控件。这两种控件之间的主要区别在于设计时的易创建性与易用性。

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

Web   自定义控件是编译的代码,这使得   Web   自定义控件更易于使用但更难于创建;Web   自定义控件必须使用代码来创建。一旦创建该控件,那么,您就可以将其添加到工具箱中,并在具有完全“属性”窗口支持和   ASP.NET   服务器控件的其他所有设计时功能的可视化设计器中显示该控件。此外,还可以在全局程序集缓存中安装   Web   自定义控件的单个副本,并在应用程序之间共享该副本,这将使维护变得更容易。有关更多信息,请参阅全局程序集缓存。
如果您的控件包含大量静态布局,用户控件则可能是较佳的选择。如果您的控件主要是动态生成的(例如数据绑定表的行、树视图的节点或选项卡   (TabControl)   控件的选项卡),自定义控件则可能是较佳的选择。

下表概述了这两种类型之间的主要区别:
Web   用户控件
1.易于创建
2.为使用可视化设计工具的使用者提供有限的支持
3.   每个应用程序中需要控件的一个单独副本
4.   不能添加到   Visual   Studio   中的工具箱
5.   适用于静态布局
Web   自定义控件
1.难于创建
2.   为使用者提供完全的可视化设计工具支持
3.   仅在全局程序集缓存中需要控件的单个副本
4.   可以添加到   Visual   Studio   中的工具箱
5.   适用于动态布局

 

二:

用户控件(UserControl)   :     *.ascx是指页面中加载的功能块
自定义控件,WebControl也属性它类:     可以放到工具栏里面,直接拖过来用
自定义控件是指编译
后直接可以放到工具箱中用,就像TextBox,DataGrid一样
在设计器中可以用鼠标拖动实现
用户控件是页面的功能单位,*.ascx,我公司就几个*.aspx
页面,其余都是用*.ascx嵌入到*.aspx页面中实现的
用法: 
  自定义服务器控件分为两种:  
        一种是用*.aspx代码和*.cs代码结合实现
        另一种是只用*.cs实现 
    具体方法:  
        1.   比如将一个Button从设计器拖到页面中,
              对按钮大小或颜色或文本设置一个固定值,保存文件名为:   a.cs
        2.   csc   /r:System.dll   /t:library/out:../../A.dll     a.cs

三.

1)、用户控件和自定义控件的主要区别在于设计时的易创造性与易用性。
      用户控件易于创建,为使用可视化设计工具的使用者提供有限的支持,每个应用程序中需要控件的一个单独副本,不能添加到visual studio工具箱中,适用于静态布局,它们在高级方案中使用起来可能不太方便。
自定义服务器控件是经过编译的代码,这使其易于使用但难于创建。它为使用者提供完全的可视化设计工具支持,仅在全局程序集缓存中需要控件的单个副本,可以添加到visual studio中的工具箱,适用于动态布局。
如果您的控件包含大量静态布局,用户控件则可能是较佳的选择。如果您的控件主要是动态生成的,自定义控件则是较佳的选择。

2)、(1)用户控件和自定义控件概述
       用户控件(UserControl): 扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中 加载的功能块,只是用户控件不能单独作为页面运行,必须嵌入到*.aspx页面或其它用户控件中使用.
       自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里面,直接用鼠标拖动使用.

    (2)使用       
       在一个大系统中,有时候会只能几个*.aspx页面,其余的都是做成*.ascx页面,
这样可以增强页面之间的藕合性,一个用户控件*.ascx都作为一个独立的功能块.
       自定义控件是指编译后直接可以放到工具箱中用,就像TextBox,DataGrid一样
在设计器中可以用鼠标拖动到页面上使用.
       自定义服务器控件分为两种:   
               1.一种是用*.aspx代码和*.cs代码编译后生成DLL,再添加引用到工具箱使用.         
                   一般用于WebForm中.       
               2.另一种是只用*.cs实现,再编译生成DLL,添加到工具箱使用.
                   一般用于WinForm中.
       自定义控件生成步骤:
             比如:   
               1. 将一个Button从设计器拖到页面中,
                     对按钮大小,颜色或文本设置一个固定值,保存文件名为: a.cs
               2. csc /r:System.dll /t:library/out:../../A.dll    a.cs
               3. 右击工具箱空白处,弹出右击菜单后,选“添加移除项”,将刚生成的DLL
                     添加到工具箱里面来,这样,就可以像一般的Button一样拖动使用了

3)、(1

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值