2024年4月27日发(作者:)
4.0 服务器控件概述
Web 服务器控件 (Web server control)属于trols命名空
间的服务器控件。Web服务器控件比HTML服务器控件更丰富、更抽象。
Web服务器控件在页上有asp标记前缀,例如
在 2.0中,Web服务器控件是指在服务器上执行程序逻辑的组件。这
个组件可能生成一定的用户界面,也可能不包括用户界面。每个服务器控件都包含
一些成员对象,以便开发人员调用,例如,属性、事件、方法等。
通常情况下,服务器控件都包含在页面中。当运行页面时,.NET执
行引擎将根据控件成员对象和程序逻辑定义完成一定的功能。例如,在客户端呈现
用户界面。这时,用户可与控件发生交互行为,当页面被用户提交时,控件可在服
务器端引发事件,并由服务器端根据相关事件处理程序来进行事件处理。服务器控
件是WebForm编程模型的重要元素,它们构成了一个新的、基于控件的表单程序
的基础。通过这种方式可以简化Web应用程序的开发,提高应用程序的开发效率。
服务器控件的广泛应用,简化了应用程序的开发,提高了工作效率。那么,何
时应创建并使用自定义服务器控件呢?下面列举了在三种具体适用情况:
某个现有服务器控件基本符合应用要求,但是,缺少某些特殊的功能,这时可以通过
从现有控件中派生并重写其属性、方法或事件来自定义服务器控件。
需要使用的服务器控件结合了两个或多个现有控件的功能,例如,封装一个按钮和一
个文本框的复合控件。此时可以通过创建服务器控件达到这一目的。
现有服务器控件(或其组合)均不符合应用的要求。对于这种情况,可以通过从基类
派生的方式来创建自定义服务器控件。
1.服务器控件特性
Web服务器控件特性经过总结可分为五种,详细介绍如下:
功能丰富的对象模型,该模型具有类型安全编程功能。由于Web服务器控件是
框架全新封装提供的新控件,因此其具有严格的类型安全检查。
自动浏览器检测。Web服务器控件可以检测浏览器的功能,并为基本型和丰富型(HTML
4.0或以上) 浏览器创建适当的输出。
对于某些控件,可以使用模板来自定义控件的外观。
对于某些控件,可以指定控件的事件是立即发送到服务器,还是先缓存然后在提交窗
体时引发。
可将事件从嵌套控件(例如表中的按钮)传递到容器控件。
2.HTML服务器控件与Web服务器控件的区别
HTML服务器控件与Web服务器控件的区别如表6-1所示。
表6-1 HTML服务器控件与Web服务器控件的区别
项目 HTML服务器控件 Web服务器控件
是否映射到HTML标签 与HTML标签存在一一对应的映射
关系。runat=server属性把传统的
HTML标签转换成服务器控件。这使
得开发人员可以将ASP页面移植到
平台上。
不直接映射到HTML标签,这
使得可以开发人员可以使用第
三方的控件。
对象模型 使用HTML中心对象模型,在该模型
中,控件包括一个关健字/值对的属性
集合。
使用基于组件的对象模型,该
模型要求使用一致对象类型。
是否能自适应输出 不能根据浏览器的不同,调整所输出
HTML文档的显示效果。
可以自动根据浏览器的不同,
调整所输出HTML文档的显示
效果。
3.Web服务器控件的公共属性
Web服务器控件的公共属性可分为两类,具体介绍如下。
trol类的属性
trol类是trols命名
空间中的所有控件的基类,常用属性如表6-2所示。
表6-2 trol类的属性
名称
AccessKey
BackColor
BorderColor
BorderStyle
BorderWidth
Enabled
Font
ForeColor
Height
Style
TabIndex
ToolTip
Width
名称
NotSet
None
Dotted
解释
表示用于快速定位到Web服务器控件的访问键。默认为空,表示不设置该属
性。
表示Web服务器控件的背景色,默认为空,表示不设置该属性。
表示Web控件的边框颜色,默认为空,表示不设置该属性。
表示Web服务器控件的边框样式,默认为NotSet,其取值如表6-3所示。
表示Web服务器控件的边框宽度,默认为空,表示不设置该属性。
表示是否启用Web服务器控件。
表示Web服务器控件关联的字体属性。
表示Web服务器控件的前景色(通常是文本颜色)。
表示Web服务器控件的高度。
包含要在Web服务器控件的外部标记上呈现的HTML样式属性。
Web服务器控件的选项卡索引。默认为0,表示不设置此属性。
表示当鼠标指针悬停在Web服务器控件上时显示的文本。
表示Web服务器控件的宽度。
表6-3 BorderStyle取值表
解释
不设置边框样式。
无边框。
虚线边框。
Dashed
Solid
Double
Groove
Ridge
Inset
Outset
点划线边框。
实线边框。
双实线边框。
用于凹陷边框外观的凹槽状边框。
用于凸起边框外观的突起边框。
用于凹陷控件外观的内嵌边框。
用于凸起控件外观的外嵌边框。
其他的常用属性
其他常用属性如表6-4所示。
表6-4 服务器控件其他常用属性
名称
ID
Text
解释
继承自l类,所有Web服务器控件都可以通过该属性来
唯一标识和引用。
所有接受用户输入,显示数据和提示数据的Web服务器控件都可以通过Text
属性来表示用于在控件上显示的文本,例如TextBox、Lablel、Button、CheckBox
等控件。
AutoPostBack 所有发送窗体或单击按钮时将其数据回传到服务器的Web控件都具有
AutoPostBack属性,该属性是布尔类型。表示当用户修改控件中的文本并使焦
点离开该控件时,是否向服务器自动回送。True表示每当用户更改文本框中的
文本并使焦点离开该控件时,都会向服务器自动回送,否则为false。默认为
false。
EnableViewState 继承自l类,此属性用于定义控件的视图状态或其包含的
当前值在窗体发回到服务器之后是否保留在控件中。默认情况,该属性设为
True,即将窗体回发到服务器后,所有控件输入和选择的数据将保留在控件中,
如果不需要保留输入的值则应将此属性设为False。例如,首次打开页面时,
TextBox值为空,当输入数据并发回到服务器后,若该值为False,则将清空
TextBox的值,否则保留TextBox的输入值。


发布评论