1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 第6章 自定义控件和用户控件

第6章 自定义控件和用户控件

时间:2018-06-11 21:15:11

相关推荐

第6章 自定义控件和用户控件

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。