IT Course

Technology Collection: Ruijin.R.Zhao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  • 部署
  • 创建
  • 内容和布局
  • 设计期行为
  • 性能

      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指令,为缓存提供方便的声明机制

posted on 2009-09-08 22:39  tommy007  阅读(469)  评论(0)    收藏  举报