• 部署
  • 创建
  • 内容和布局
  • 设计期行为
  • 性能

ASP.NET 为创建自己的控件提供了两个模型--用户控件模型和自定义控件模型。这两个模型适合不同的情况。一般而言用户控件适合创建内部,应用程序特定的控件和相对静态可复用部分。而自定义(或编译过的)控件模型更适合创建通用的和可分发的控件。

6.1 部署
      当在两个创建控件模型之间进行选择的时候,部署是最重要的考虑因素。
      自定义控件模型采用大多数应用程序可以使用的配件(编译过的类库)形式,为创建可再分发的组件而设计。当其置于应用程序私有bin目录的时候,包含控件的配件一次只由单个应用程序使用;当进入全局配件缓存(global assebly cache,GAC)的时候可以在多个应用程序之间共享。
      用户控件模型是为当个应用程序的情况设计的。当页面第一次请求的时候,用户控件在运行阶段动态编译到配件中。因此用户控件必须以源代码形式部署,.ascs 文件。增加了维护成本。

6.2 创建
      如果需要扩展或修改现有的控件的功能,就需要从现有的控件派生自定义控件。不要把控件的实例置于用户控件中来添加其功能和行为。
当要通过结合多个现有的控件来提供新功能时,应考虑开发一个用户控件。
6.3 内容和布局
      自定义控件非常适用于通过编程方式生成布局中所表现的动态内容。比如:动态行的数据绑定表,动态节点树。内容和布局主要依赖属性值和基于哪些值的逻辑条件,几乎没有任何的静态的hard-code。
      而用户控件的布局在 .ascs 文件内创建时声明,所以当需要固定布局的相对静态的内容时,用户控件是更好的选择。比如:页头和页脚。
6.4 性能
      用户控件只是第一次请求时,被解析并编译进配件中,因此和自定义控件没有明显的区别。
以下是一些控件开发的建议:
自定义控件
      1,商用或可分发的控件包
      2,模板控件
      3,扩展控件:比如从标准Image控件中派生的控件
 用户控件:
      1,可复用的HTML片断
      2,复合控件:比如1个文本框和一个RequiredTextField用户控件
      3,碎片缓存:用户控件通过OutputCache指令,为缓存提供方便的声明机制

转载于:https://www.cnblogs.com/ruijinzhao/archive/2009/09/08/1562866.html

第6章 自定义控件和用户控件相关推荐

  1. java 用户控件_C#自定义控件VS用户控件

    C#中自定义控件VS用户控件大比拼 1 自定义控件与用户控件区别 WinForm中, 用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Co ...

  2. C#自定义控件VS用户控件

    C#自定义控件VS用户控件 1.C#中自定义控件VS用户控件大比拼 2.为自定义控件(或类)的方法属性添加注解 2.1.Description:在属性窗口中添加属性及属性说明 2.2.Browsabl ...

  3. 用户控件和自定义控件

    关 键 词 Server Control 服务器控件 User Control 用户控件,ASP.NET服务器控件的一种(一般后缀名为.ASCX文件) Custom Control 自定义控件,ASP ...

  4. Asp.net 用户控件和自定义控件注册

    在ASPX页中注册用户控件的方法 <%@ Register Src="ListPicker.ascx" TagName="ListPicker"  Tag ...

  5. 用户控件 自定义控件_新的自定义控件:TaskProgressView

    用户控件 自定义控件 我已经编写了一个新的自定义控件,并将其提交到ControlsFX项目. 这是一个高度专业的控件,用于显示后台任务,其当前状态和进度的列表. 这实际上是我为ControlsFX编写 ...

  6. Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)...

    (一).  概要 开发<数据绑定用户控件>, 要实现一个DataSource属性, 并且能够自动识别不同的数据源, 如: ArrayList, DataTable, DataSet, XM ...

  7. 用户控件与自定义控件

    一. 用户控件: 1. 易于创建,基类为UserControl, 和.aspx页面结构几乎完全相同.      2. 运行时动态的进行编译,所以不能将其添加到工具箱中. 二. 自定义控件: 1.难于创 ...

  8. Web.config中注册用户控件和自定义控件

    在ASP.NET 的早先版本里,我们通过在页面的顶部添加 <%@ Register %> 指令来引入和使用自定义服务器控件和用户控件时,象这样: <%@ Register TagPr ...

  9. WPF 用户控件和 WPF自定义控件区别

    WPF 用户控件 将多个现有的控件组合成一个可重用的"组". 由一个XAML文件和一个后台代码文件. 不能使用样式和模板. 继承自UserControl类. WPF自定义控件(扩展 ...

最新文章

  1. 循环出按钮点击按钮显示按钮上面文字 vue el-button_前端学习计划之VUE学习(一)...
  2. abb变频器电机过热保护怎么复位_变频器驱动的电机过热该怎么办
  3. 数字转化成时分秒(二)
  4. leetcode(1)---两数之和
  5. Web安全相关(三):开放重定向(Open Redirection)
  6. 一步步编写操作系统 20 x86虚拟bochs一般用法 上
  7. 揭秘2018图灵奖评选:Jeff Dean李开复和Lecun写信推荐Hinton
  8. 在线中英文符号转换工具
  9. Spring基础类型注入演示案例
  10. Git使用方法(三)-小技巧篇
  11. MySQL8的新特性ROLE
  12. Exchange 2013反垃圾邮件功能
  13. 类的加载过程详解之过程一:Loading(加载)阶段
  14. 在空间三维坐标系下的圆、直线和平面拟合
  15. 自定义 Excel 自动填充快捷键
  16. 三菱PLC GX Work2学习笔记
  17. 显卡那些GS、GT的名称是什么意思?
  18. 数据库SQL语句检索相关
  19. 华为ensp 错误代码 :40
  20. 收银系统(Java简单版)

热门文章

  1. Python进阶【第五篇】函数式编程及某些特殊函数
  2. Linux 01 Liunx目录结构及文件基本操作
  3. 【笔记】web语音相关
  4. Symbols in Interllij IDEA
  5. [转]为什么我要用 Node.js? 案例逐一介绍
  6. HTML 框架 frameset,frame
  7. 一款全屏图片滑动js 插件 超快捷
  8. .net 4.0下载
  9. #ifndef、#def、#endif宏
  10. Netty源码解析1-Buffer