《ASP.NET程序设计及应用苏英如电子教案03第03章节Server端控件》由会员分享,可在线阅读,更多相关《ASP.NET程序设计及应用苏英如电子教案03第03章节Server端控件(57页珍藏版)》请在金锄头文库上搜索。
1、第3章 Server端控件,Web Form的基本概念 常用HTML Server控件和Web Server控件的使用方法 Validation Server控件和用户控件的使用方法,第3章 Server端控件,3.1 Web Form概述 3.2 HTML Server控件 3.3 Web Server控件 3.4 Validation Server控件 3.5 用户控件,3.1 Web Form概述,Web Form指用ASP.NET开发的网页。从设计的角度看,Web Form是一个包含HTML标记、服务器端控件以及相关程序的“大杂烩”。 主窗格是一个正处于设计状态的Web Form。在这
2、个Web Form中,既有HTML标记(如分隔线),也包括Server控件(如文本框、按钮、标签),当然,还包括在图中看不到的程序。,3.1 Web Form概述,Web Form由“可视化组件(Viaual Component)”和“用户接口逻辑(user interface logic)”组成。其中,前者指包含HTML标记及Server控件声明的部分(也就是可在浏览器上看到的部分);后者则指用于实现服务器和用户交互的代码。如果使用普通的文本编辑器进行设计,则上述两个部分共处同一文件中;如果使用Visual Studio.NET进行设计,则可视化组件与用户接口逻辑将分处不同的文件中。 在We
3、b Form中使用的控件可以分为4类:HTML服务器控件、Web服务器控件、Validation控件和用户自定义控件(本书重点介绍前3类控件)。 当用户请求包含这些控件的网页时,被请求网页将首先在服务器端执行,以生成HTML文档,并回送客户端,浏览器再将结果显示给用户。此外,需要指出的是,Web Form的某些高级功能必须在特定的浏览器上方可正常运行。例如,有些功能必须在IE 5及以上版本的浏览器中才能正常运行。,3.2 HTML Server控件,HTML Server控件由标准的HTML标记衍生而来,几乎与HTML标记有一一对应的关系。HTML Server控件的功能更为强大且支持服务器端
4、脚本(Server Side Scripting)。 当浏览器请求一个包含HTML Server控件的ASP.NET网页时,服务器将执行相关代码并将执行结果转换为可被浏览器识别的THML文挡,然后回送浏览器。 3.2.1 HTML Server控件与HTML标记的关系 3.2.2 HtmlGenericControl控件 3.2.3 HtmlForm控件 3.2.4 HtmlButton控件 3.2.5 HtmlInputButton控件 3.2.6 HtmlInputImage控件 3.2.7 HtmlInputText控件 3.2.8 HtmlInputCheckBox控件 3.2.9 H
5、tmlInputRadioButton控件 3.2.10 HtmlSelect控件 3.2.11 HtmlTextArea控件 3.2.12 HtmlInputFile控件 3.2.13 HtmlInputHidden控件 3.2.14 HtmlAnchor控件 3.2.15 HtmlImage控件,3.2.1 HTML Server控件与HTML标记的关系,几乎所有的HTML标记都可转化为HTML Server控件,只需在标记中加入“Runat=“Server“”属性即可。 如果需要在代码中引用HTML Server控件,则应在控件标识中加入Id属性(如Id=“syrButton“)以定义对
6、象实例标识。,3.2.2 HtmlGenericControl控件,因、标记难以归类,故ASP.NET将之统称为HtmlGenericControl控件,其声明格式如下: 一个使用HtmlGenericControl控件按一定规律动态更改页面背景的例子。 设置网页的背景属性,属性名称为Background,值为week0?.gif,其中?的取值在06之间,具体值则与当前日期有关。,3.2.2 HtmlGenericControl控件,一个利用HtmlGenericControl控件实现文本动态显示的例子。,3.2.3 HtmlForm控件,HtmlForm控件是Web Form网页中的一个重要
7、控件,在运行的层面上讲,它用于生成将被传送至浏览的标记。 HtmlForm控件的声明格式如下: HtmlForm控件的几个重要属性: (1)Enctype:给出或设置将窗体数据发送到服务器时所采用的编码方式。 (2)Method:给出或设置发送数据给服务器的方式。当上传数据量较小时,应采用“Get”方式,否则,应采用“Post”方式。Method属性的默认值为“Post”。 (3)Target:给出或设置用于显示处理结果的目标框架或窗口。 在一个Web Form中,只能存在一个HtmlForm控件。并且除HtmlGenericControl控件外,任何Html Server控件都必须放在Htm
8、lForm控中。,3.2.4 HtmlButton控件,HtmlButton控件用于创建按钮,其声明格式如下: 文字或图片 下面是HtmlButton控件的重要属性和事件: (1)CausesValidation:给出或设置按钮被单击后,是否对窗体数据的有效性进行验证(验证规则由验证控件给出),其值可为“True”或“False”,默认为“True”。 (2) OnServerClick:设置按钮被单击后将执行过程的名称。 HtmlButton控件运行时,所生成的标记是在HTML4.0中新定义的,需要IE4.0或NC6.0及以上版本才能正常工作。因此,使用该控件时应考虑浏览器的支持能力。 一个
9、利用HtmlButton控件实现超链接的例子。,3.2.5 HtmlInputButton控件,HtmlInputButton控件与HTML的提交按钮标记、重新输入按钮标记及一般按钮标记对应。其声明语法如下: 一个利用HtmlInputButton控件实现超链接的例子。,3.2.6 HtmlInputImage控件,HtmlInputImage控件与HTML的图片提交按钮标记对应。用于实现基于图片的事件处理程序。 一个利用HtmlInputImage控件实现超链接的例子。 定义HtmlInputImage控件,其中Src属性用于设定控件的图片源;Alt属性用于设定图片的替换文字,当图片无法读取
10、或尚未下载时,这些文字将显示在页面中。此外,如果浏览器支持工具提示(tooltip)功能,则当鼠标指针移至本控件时,文字也将显示在页面中。,3.2.7 HtmlInputText控件,HtmlInputText控件与HTML的文本框标记、密码框标记对应,用于提供单行文本框。其声明语法如下: (1)MaxLength:获取或设置HtmlInputText控件可以输入的字符数。 (2)Size:获取或设置HtmlInputText控件的宽度,单位为字符。 (3)Value:获取或设置HtmlInputText控件的内容。 (4)OnServerChange:设置Value属性(即文本框内容)发生变
11、化后将执行过程的名称。需要指出的是,当文本框中的内容被发送到服务器端后,服务器将检查这些内容是否与最近一次上传的内容相同,如果不同,方触发OnServerChange事件。,3.2.7 HtmlInputText控件,一个利用 HtmlInputText的OnServerChange事件进行编程的例子。在这个例子中,当文本框中的内容发生变化并被传送到服务器端后,文本框下方将显示相应的提示信息。,3.2.8 HtmlInputCheckBox控件,tmlInputCheckBox控件与HTML的复选框标记对应。其声明语法如下: 其中Checked属性用于获取或设置HtmlInputCheckBo
12、x控件的选择状态。 在下面的例子中,当用户选择自己喜欢的风景并单击“确定”按钮后,网页下方将出现回应文本。,3.2.9 HtmlInputRadioButton控件,HtmlInputRadioButton控件与HTML的单选钮标记对应。其声明语法如下: 其中Name属性用于获取或设置HtmlInputRadioButton控件组名称。在一个Web Form中,Name属性相同的HtmlInputRadioButton控件将被视为一个控件组。在任何时刻,属于一个控件组的单选钮至多只能有一个被选择。 在下面的例子中,当用户选择自己最喜欢的风景并单击“确定”按钮后,网页下方将出现回应文本。,3.2
13、.10 HtmlSelect控件,HtmlSelect控件与HTML的下拉列表框标记对应。其声明语法如下: 列表项目 列表项目 其中Size属性用于获取或设置HtmlSelect控件预先显示项目的数目。 下面是一个利用HtmlSelect控件实现重定向的例子。,3.2.11 HtmlTextArea控件,HtmlTextArea控件与HTML的多行文本框标记对应。其声明语法如下: 其中: Cols:给出或设置HtmlTextArea控件的宽度,单位为字符。 Rows:给出或设置HtmlTextArea控件的高度,单位为字符。 HtmlTextArea控件的使用方法与HtmlInputText控
14、件基本相同。,3.2.12 HtmlInputFile控件,HtmlInputFile控件与HTML的文件输入域标记对应。其声明语法如下: 其中Size用于给出或设置文本框宽度,单位为字符。 下面是一个在服务器端获取浏览器端文件全名的例子。,3.2.13 HtmlInputHidden控件,HtmlInputHidden控件与HTML的隐藏域标记对应。其声明语法如下: 在浏览器窗口中,HtmlInputHidden控件是不可见的,只有利用浏览器的查看网页的“源文件”功能,才可以看到该类控件。,3.2.14 HtmlAnchor控件,HtmlAnchor控件与HTML的隐藏域标记对应。其声明语法
15、如下: 其中: Href:给出或设置所链接文档的URL。 Name:给出或设置网页书签。 Target:给出或设置目标框架(或窗口)名称。例如将Target设为“_blank”,可将 所链接的文档显示在新窗口中。 Title:给出或设置当鼠标指针指向超链接时所显示的提示文本。 下面是一个利用HtmlAnchor控件实现超链接的例子。,3.2.15 HtmlImage控件,HtmlImage控件与HTML的图片标记对应。其声明语法如下: 下面是一个根据用户选择在页面上显示图片的例子。,3.3 Web Server控件,微软官方文件指出,就ASP.NET网页应用而言,HTML Server控件足以
16、满足要求。但是,文件中也强调,Web Server控件提供了更为丰富的属性和更为完整的方法,拥有类似XML的语法,且其使用规则与VB控件的使用规则类似,便于编写基于Web页的应用系统。,3.3.11 RadioButton控件 3.3.12 RadioButtonList控件 3.3.13 ListBox控件 3.3.14 DropDownList控件 3.3.15 Table、TableRow、TableCell控件 3.3.16 Panel控件 3.3.17 PlaceHolder控件 3.3.18 Xml控件 3.3.19 AdRotator控件 3.3.20 Calendar控件,3.3.1 Label控件 3.3.2 Literal控件 3.3.3 HyperLink控件 3.3.4 Image控件 3.3.5 Button控件 3.3.6 LinkButton控件 3.3.7 ImageButton控件 3.3.8 TextBox控件 3.3.9 CheckBox控件 3.3.10 Che