第04章ASP服务器控件和客户端脚本_第1页
第04章ASP服务器控件和客户端脚本_第2页
第04章ASP服务器控件和客户端脚本_第3页
第04章ASP服务器控件和客户端脚本_第4页
第04章ASP服务器控件和客户端脚本_第5页
已阅读5页,还剩155页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 ASP.NET服务器控件和客户端脚本服务器控件和客户端脚本4.1 控件概述控件概述4.2 HTML服务器控件服务器控件4.3 标准控件标准控件4.4 验证控件验证控件4.5 用户控件与自定义服务器控件用户控件与自定义服务器控件4.6 用用JavaScript处理页面和服务器控件处理页面和服务器控件4.7 客户端回调客户端回调4.8 文件的上传和邮件发送文件的上传和邮件发送4.9 综合应用综合应用4.1 控件概述控件概述ASP.NET提供了两种不同类型的控件:提供了两种不同类型的控件:l HTML服务器控件服务器控件l Web服务器控件服务器控件区别:区别: (1) HTML服务器控

2、件默认不会在服务器端运行,直接转化为服务器控件默认不会在服务器端运行,直接转化为HTML标签,由浏览器显示,如果需要服务器执行需要指定。标签,由浏览器显示,如果需要服务器执行需要指定。 (2) Web服务器控件由服务器端的编译运行然后转换为服务器控件由服务器端的编译运行然后转换为HTML发发送给浏览器。送给浏览器。 此外,此外, ASP.NET还提供了验证控件,用于检查用户的输入。用还提供了验证控件,用于检查用户的输入。用户也可以自定义控件。户也可以自定义控件。4.2 HTML服务器控件服务器控件4.2.1 HTML服务器控件的层次结构服务器控件的层次结构HTML服务器控件位于名称空间服务器控

3、件位于名称空间System.Web.UI.HtmlControls。图。图4.1显示了显示了HTML服务器控件的层次结构。服务器控件的层次结构。图图4.1 HTML 服务器控件的层次结构服务器控件的层次结构4.2.2 HTML服务器控件的基本语法服务器控件的基本语法定义定义 HTML 服务器控件的基本语法格式如下:服务器控件的基本语法格式如下:HTML服务器控件是由服务器控件是由HTML标记所衍生出来的新功能,在所有的标记所衍生出来的新功能,在所有的HTML服务器控件的语法中,最前端是服务器控件的语法中,最前端是HTML标记,不同控件所用的标标记,不同控件所用的标记不同;记不同;Runat =

4、“Server”表示控件将会在服务器端执行表示控件将会在服务器端执行;Id用来设用来设置控件的名称,在同一程序中各控件的置控件的名称,在同一程序中各控件的Id均不相同,均不相同,Id属性允许以编程属性允许以编程方式引用该控件。方式引用该控件。表表4.1列举了列举了HTML服务器控件与服务器控件与HTML标记的对应表示,并标示出标记的对应表示,并标示出它们所属的类别。它们所属的类别。4.2.4 HTML服务器控件的应用服务器控件的应用服务器不会处理普通的服务器不会处理普通的HTML控件,它们将直接被发送到客户端,控件,它们将直接被发送到客户端,由浏览器进行显示。由浏览器进行显示。HTML控件集成

5、在控件集成在Visual Studio2008的的【工具箱工具箱】的的【HTML】选项卡中,如图选项卡中,如图4.2所示。所示。如果要让如果要让HTML控件能在服务器端被处理,控件能在服务器端被处理,就要将它们转换为就要将它们转换为HTML服务器控件。将普通服务器控件。将普通HTML控件转换为控件转换为HTML服务器控件,需添加服务器控件,需添加runat=“server”属性。属性。为其添加为其添加runat属性,将它转换为属性,将它转换为HTML服务服务器控件,如下所示:器控件,如下所示:图图4.2 HTML控件控件4.2.4 HTML服务器控件的应用服务器控件的应用【例例4.1】 使用使

6、用HTML服务器控件完成一个表单,实现简单的用户服务器控件完成一个表单,实现简单的用户登录和提交留言。服务器端编程获取用户所填写的内容并输出。登录和提交留言。服务器端编程获取用户所填写的内容并输出。页面设计:页面中放置两个文本框(页面设计:页面中放置两个文本框(User(ID值值)用于输入用户名、用于输入用户名、Password用于输入密码),两个多行文本框(用于输入密码),两个多行文本框(messeage用于显示登录或用于显示登录或留言信息、留言信息、comment用于输入留言信息),两个按钮(用于输入留言信息),两个按钮(BtnLogin表示登表示登录单击的录单击的“确定确定”、BtnOK

7、表示发表留言的表示发表留言的“提交提交”)。)。图图4.3 example4-1的界面的界面4.2.4 HTML服务器控件的应用服务器控件的应用按钮按钮BtnLogin的单击事件的单击事件BtnLogin_ServerClick用于判断用户是否用于判断用户是否输入正确的用户名和密码。如果正确登录,则在多行文本框输入正确的用户名和密码。如果正确登录,则在多行文本框message中中显示显示“成功登录系统成功登录系统”,否则显示,否则显示“用户名或密码错误用户名或密码错误”。按钮。按钮BtnOK的服务器端单击事件为的服务器端单击事件为BtnOK_ServerClick,用来接受多行文本框,用来接受

8、多行文本框comment的信息,并显示在的信息,并显示在message中。程序运行结果如图中。程序运行结果如图4.4所示。所示。 图图4.4 例例4.1运行结果运行结果命令按钮的命令按钮的HTML代码:代码: 命令按钮的后台代码:命令按钮的后台代码:protected void BtnLogin_onclick(object sender, EventArgs e) if (txtName.Value = aaa) & (txtpwd.Value = 123456) comment.Disabled = false; BtnLogin.Disabled = false; message

9、.Value = 成功登录系统成功登录系统 ; else message.Value = 用户名或密码错误用户名或密码错误; 提交按钮的后台代码:提交按钮的后台代码: protected void BtnOK_onclick(object sender, EventArgs e) message.Value = 您的留言时:您的留言时:+comment.Value; 4.3 标准控件标准控件在在Visual Studio 2008的的【工具箱工具箱】中,只有中,只有HTML选项卡中的控件选项卡中的控件是浏览器端控件,其他各种控件都是服务器控件。其中是浏览器端控件,其他各种控件都是服务器控件。其

10、中【标准标准】选项卡选项卡中的控件是较常用的控件。在类库中,所有的网页控件都是从中的控件是较常用的控件。在类库中,所有的网页控件都是从System.Web.UI.Control.WebControls直接或间接派生而来的。直接或间接派生而来的。图图4.5 Web服务器控件的层次结构服务器控件的层次结构4.3 标准控件标准控件h 1服务器控件的基本语法服务器控件的基本语法ASP.NET服务器控件的基本语法格式如下:服务器控件的基本语法格式如下: 控件标签以控件标签以asp:开头,这是开头,这是Web服务器控件的标记前缀。控件类型服务器控件的标记前缀。控件类型名为控件的类型或类,如名为控件的类型或

11、类,如TextBox、。、。runat 说明控件在服务器端运行。说明控件在服务器端运行。需要明确的是,一般情况下,标签是成对出现的,但若此标签仅占需要明确的是,一般情况下,标签是成对出现的,但若此标签仅占一行,也可在标签最后加一个一行,也可在标签最后加一个“/”作为结束。作为结束。许多许多Web服务器控件可以在起始和结束标签之间使用内部服务器控件可以在起始和结束标签之间使用内部HTML。例如,下面的关于某个例如,下面的关于某个TextBox控件的两种不同的写法是等价的:控件的两种不同的写法是等价的:请输入姓名请输入姓名: 4.3 标准控件标准控件图图4.6是一个注册表单的界面,下面将以此为例展

12、开是一个注册表单的界面,下面将以此为例展开Web服务器标准控件服务器标准控件的介绍。的介绍。图图4.6 注册表单注册表单4.3.1 输入与显示控件输入与显示控件h 1TextBox控件控件TextBox控件是用得最多的控件之一,该控件显示为文本框,可以控件是用得最多的控件之一,该控件显示为文本框,可以用来显示数据或者输入数据。用来显示数据或者输入数据。TextBox控件定义的语法示例如下:控件定义的语法示例如下:此行代码提供给用户一个输入密码的文本框,效果如图此行代码提供给用户一个输入密码的文本框,效果如图4.6所示。所示。属性属性/事件事件/方法方法说说 明明AutoPostBack指示在输

13、入信息时,数据是否实时自动回发到服务指示在输入信息时,数据是否实时自动回发到服务器器MaxLength文本框中最多允许的字符数文本框中最多允许的字符数ReadOnly指示能否更改指示能否更改 TextBox 控件的内容控件的内容Rows多行文本框中显示的行数多行文本框中显示的行数TextTextBox 控件的文本内容控件的文本内容TextModeTextBox 控件的行为模式(单行、多行或密码)控件的行为模式(单行、多行或密码)Wrap指示多行文本框内的文本内容是否换行指示多行文本框内的文本内容是否换行TextChanged文本框的内容改变时发生的事件文本框的内容改变时发生的事件Focus (

14、)使光标置于文本框中的方法使光标置于文本框中的方法表表4.5 TextBox控件的常用属性、事件和方法控件的常用属性、事件和方法4.3.1 输入与显示控件输入与显示控件其中有一个重要的属性:其中有一个重要的属性:TextMode。该属性包括三个选项。该属性包括三个选项。(1)SingleLine:单行编辑框。:单行编辑框。(2)MultiLine:带滚动条的多行文本框。:带滚动条的多行文本框。(3)PassWord:密码输入框,所有输入字符都用特殊字符(例:密码输入框,所有输入字符都用特殊字符(例如如“*”)来显示。)来显示。4.3.1 输入与显示控件输入与显示控件h 2Label控件控件La

15、bel 控件用于在控件用于在Web页面上显示文本。其控件定义的语法示例如页面上显示文本。其控件定义的语法示例如下:下:除了具体表除了具体表4.3所示的所示的Web控件标准属性外,控件标准属性外,Label控件还有几个常控件还有几个常用属性,如表用属性,如表4.6所示。所示。属性属性说说 明明runat规定该控件是一个服务器控件。必须设置规定该控件是一个服务器控件。必须设置为为 serverText在在 label 中显示的文本中显示的文本 AccessKey指定热键的按键指定热键的按键 AssociatedControlID将将Label控件与窗体中另一个服务器控件关控件与窗体中另一个服务器控

16、件关联起来联起来表表4.6 Label控件的常用属性控件的常用属性4.3.1 输入与显示控件输入与显示控件可以利用可以利用Label控件属性控件属性AssociatedControlID和和AccessKey为窗体中为窗体中的其他控件添加热键。的其他控件添加热键。例如:例如:Username当鼠标单击当鼠标单击Label控件时或按下控件时或按下Alt+N组合键,焦点将跳到组合键,焦点将跳到TextBox1上,自动激活了与之关联的文本框。上,自动激活了与之关联的文本框。 图图4.7 利用利用Label添加热键添加热键4.3.1 输入与显示控件输入与显示控件h 3Literal控件控件Litera

17、l控件的工作方式类似于控件的工作方式类似于Label控件。用于在浏览器上显示在整控件。用于在浏览器上显示在整个过程中不发生变化的文本。其控件定义的语法示例如下:个过程中不发生变化的文本。其控件定义的语法示例如下:表表4.7列出了列出了Literal控件的常用属性。控件的常用属性。属属 性性说说 明明Runat规定该控件是一个服务器控件。规定该控件是一个服务器控件。必须设置为必须设置为 serverText规定要显示的文本规定要显示的文本 Mode指定控件对所添加的标记的处理指定控件对所添加的标记的处理方式方式表表4.7 Literal控件的常用属性控件的常用属性4.3.1 输入与显示控件输入与

18、显示控件Literal 控件支持控件支持 Mode 属性,该属性用于指定控件对所添加的标属性,该属性用于指定控件对所添加的标记的处理方式。可以将记的处理方式。可以将 Mode 属性设置为以下值。属性设置为以下值。(1)Transform:添加到控件中的任何标记都将进行转换,以适:添加到控件中的任何标记都将进行转换,以适应请求浏览器的协议。应请求浏览器的协议。(2)PassThrough:添加到控件中的任何标记都将按原样呈现在:添加到控件中的任何标记都将按原样呈现在浏览器中。浏览器中。 (3)Encode:添加到控件中的任何标记都将使用:添加到控件中的任何标记都将使用 HtmlEncode 方方

19、法进行编码,该方法将把法进行编码,该方法将把 HTML 编码转换为其文本表示形式。编码转换为其文本表示形式。例如:例如:asp:Literal ID=Literal1runat=ServerMode=EncodeText=新用户注册!新用户注册!浏览器中会显示浏览器中会显示“欢迎注册!欢迎注册!”。4.3.2 按钮控件按钮控件中设置了三种按钮:中设置了三种按钮:Button、LinkButton和和ImageButton。当用户单击这三种类型按钮中的任何一种时,都会向服务器提交一当用户单击这三种类型按钮中的任何一种时,都会向服务器提交一个窗体,当前页被提交给服务器并在那里进行处理,可为下列事件

20、之一个窗体,当前页被提交给服务器并在那里进行处理,可为下列事件之一创建事件处理程序。创建事件处理程序。(1)Page_load事件:因为按钮总是将页提交给服务器,所以该方事件:因为按钮总是将页提交给服务器,所以该方法总是在运行。倘若只是要提交相应窗体,并不关心单击的是哪个按钮,法总是在运行。倘若只是要提交相应窗体,并不关心单击的是哪个按钮,则使用页的则使用页的Page_load事件。事件。(2)Click事件:如果需要知道具体单击的是哪个按钮,则编写对事件:如果需要知道具体单击的是哪个按钮,则编写对应按钮的应按钮的Click事件处理程序。事件处理程序。4.3.2 按钮控件按钮控件属性/事件/方

21、法说 明BackColor获取或设置背景色BordorColor获取或设置边框颜色CommandArgument获取或设置可选参数,该参数与CommandName一起传递到Command事件Text获取或设置在Button控件中显示的文本标题Click在单击Button控件时发生的服务器端事件表表4.8 Button控件的常用属性、事件和方法控件的常用属性、事件和方法1Button控件控件 Button控件是Web窗体中的常见控件。 Button控件定义的语法示例如下: 4.3.2 按钮控件按钮控件(1)Click事件:在单击事件:在单击Button控件时发生。在开发过程中,双击控件时发生。在

22、开发过程中,双击Button按钮,便可为其自动产生事件触发函数。以下是代码示例:按钮,便可为其自动产生事件触发函数。以下是代码示例:protected void Button1_Click(object sender, EventArgs e) Response.Write (注册成功,欢迎您!注册成功,欢迎您!);4.3.2 按钮控件按钮控件h 2LinkButton控件控件LinkButton控件定义的语法示例如下:控件定义的语法示例如下:退出退出上面的代码定义了一个用于退出的超链接按钮。上面的代码定义了一个用于退出的超链接按钮。LinkButton对象的对象的成员与成员与Button对象

23、非常相似。对象非常相似。可以为上面定义的可以为上面定义的LinkButton1添加如下事件代码:添加如下事件代码:protected void LinkButton1_Click(object sender, EventArgs e)Response.Write (谢谢访问,下次再来哦,谢谢访问,下次再来哦,88!);Response.End( );4.3.2 按钮控件按钮控件h 3ImageButton控件控件LinkButton控件定义的语法示例如下:控件定义的语法示例如下:上面的代码定义了一个用于重置的按钮上面的代码定义了一个用于重置的按钮 。表表4.9列出了列出了ImageButton

24、控件的常用属性、事件和方法。控件的常用属性、事件和方法。4.3.2 按钮控件按钮控件属性/事件/方法说 明AlternateText获取或设置当图像不可用时,控件中显示的替换文本BackColor获取或设置背景色BordorColor获取或设置边框颜色CommandArgument获取或设置可选参数,该参数与CommandName一起传递到Command事件ImageAlign获取或设置ImageButton控件相对于网页上其他元素的对齐方式ImageUrl获取或设置在ImageButton 控件中显示的图像的位置Click在单击ImageButton控件时发生的服务器端事件PostBackU

25、rl获取或设置单击ImageButton时从当前页发送到的网页的URL。默认为空,即本页表表4.9 ImageButton控件的常用属性、事件和方法控件的常用属性、事件和方法4.3.3 选择和列表控件选择和列表控件h 1RadioButton控件控件RadioButton控件表现为控件表现为Web页面上的单选按钮。它允许用户选择页面上的单选按钮。它允许用户选择true状态或状态或false状态,但是只能选择其一。窗体上的一个单选按钮没有状态,但是只能选择其一。窗体上的一个单选按钮没有什么意义,在使用时通常有两个以上的什么意义,在使用时通常有两个以上的RadioButton控件组成一组,以控件组

26、成一组,以提供互相排斥的选项。提供互相排斥的选项。页面上的一组页面上的一组RadioButton控件可以定义如下:控件可以定义如下:表表4.10 RadioButton控件的常用属性和事件控件的常用属性和事件属性属性/事件事件说说 明明Checked布尔值,规定是否选定单选按钮布尔值,规定是否选定单选按钮AutoPostBack布尔值,规定在布尔值,规定在 Checked 属性被改变后,是属性被改变后,是否立即回传表单。默认是否立即回传表单。默认是 falseGroupName该单选按钮所属控件组的名称该单选按钮所属控件组的名称CheckedChanged当当 Checked 被改变时,被执行

27、的函数的名称被改变时,被执行的函数的名称Text单选按钮旁边的文本单选按钮旁边的文本TextAlign文本应出现在单选按钮的哪一侧(左侧还是右文本应出现在单选按钮的哪一侧(左侧还是右侧)侧)4.3.3 选择和列表控件选择和列表控件(1)如果无须直接对控件的选择事件进行响应,而只关心单选按)如果无须直接对控件的选择事件进行响应,而只关心单选按钮的状态,那么可以在窗体发送到服务器后测试单选按钮,判断钮的状态,那么可以在窗体发送到服务器后测试单选按钮,判断RadioButton控件的控件的Checked属性,若为属性,若为Ture,则表示单选按钮已选定。,则表示单选按钮已选定。(2)如果需要立即响应

28、用户更改控件状态的事件,那么要为控件)如果需要立即响应用户更改控件状态的事件,那么要为控件的的CheckedChanged事件创建一个事件处理程序。默认情况下,事件创建一个事件处理程序。默认情况下,CheckedChanged事件并不马上导致向服务器发送页事件并不马上导致向服务器发送页,若要使若要使CheckedChanged事件即时发送,必须将事件即时发送,必须将RadioButton控件的控件的AutoPostBack属性设置为属性设置为True。4.3.3 选择和列表控件选择和列表控件图图4.8RadioButton控件示例控件示例【例例4.2】 RadioButton控件的控件的Che

29、cked属性和属性和CheckedChanged事事件。件。 页面设计:页面中放置两个页面设计:页面中放置两个RadioButton控件。它们的控件。它们的GroupName属性相同,表明它们是一组的。被选中的按钮的属性相同,表明它们是一组的。被选中的按钮的Checked属性为属性为True,因为设置了,因为设置了AutoPostBack为为Ture,单选按钮,单选按钮的状态改变会即时回传,触发按钮组的的状态改变会即时回传,触发按钮组的CheckedChanged事件。事件。protected void RadioButton_CheckedChanged(object sender, Eve

30、ntArgs e) if (RadioButton1.Checked) Label1.Text = 你是男生; else Label1.Text = 你是女生; 在后台编写如下方法,将两个单选按钮的在后台编写如下方法,将两个单选按钮的CheckedChanged事事件都注册到该方法上:件都注册到该方法上:4.3.3 选择和列表控件选择和列表控件h 2RadioButtonList控件控件虽然多个虽然多个RadioButton控件也可以组成单选按钮组以实现互斥选择,控件也可以组成单选按钮组以实现互斥选择,但有多个选项供用户进行选择时,使用但有多个选项供用户进行选择时,使用RadioButtonL

31、ist控件更加方便。控件更加方便。RadioButtonList控件定义示例如下,控件定义示例如下, 男男 女女 保密保密4.3.3 选择和列表控件选择和列表控件表表4.11列出了列出了RadioButtonList控件的常用属性和事件。控件的常用属性和事件。属性属性/事件事件说说 明明DataMemberDataSource中要绑定的表名中要绑定的表名DataSource填充该列表的列表项的数据源填充该列表的列表项的数据源Items获得列表控件中的项目集合获得列表控件中的项目集合RepeatColumns获得或设置控件中要显示的列数获得或设置控件中要显示的列数RepeatDirection获

32、得或设置一个指示该控件垂直显示还是水平获得或设置一个指示该控件垂直显示还是水平显示的值显示的值SelectedIndex获得或设置列表中第一个被选项的索引即索引获得或设置列表中第一个被选项的索引即索引最小的项最小的项SelectedItem获得第一个被选项获得第一个被选项SelectedValue获得第一个被选项的值获得第一个被选项的值TextAlign获得或设置单选按钮的文本对齐方式获得或设置单选按钮的文本对齐方式SelectedIndexChanged当在当在RadioButtonList中改变选择时触发的事件中改变选择时触发的事件表表4.11 RadioButtonList控件的常用属性

33、和事件控件的常用属性和事件4.3.3 选择和列表控件选择和列表控件RadioButtonList控件的控件的Items集合的成员和列表中的每一项对应,集合的成员和列表中的每一项对应,要确定选中了哪些项,应测试每项的要确定选中了哪些项,应测试每项的Selected属性。属性。ListItem的基本属性的基本属性如表如表4.12所示。所示。属性属性/事件事件说说 明明Text每个选项的文本每个选项的文本Value每个选项的值每个选项的值Selected选项的状态,选项的状态,Ture表示默认选中表示默认选中表表4.12 ListItem的基本属性的基本属性如何向如何向RadioButtonList

34、控件中添加项?控件中添加项?使用界面的方式使用界面的方式 选择控件,单击右键,选择属性,在属性对话框中选择选择控件,单击右键,选择属性,在属性对话框中选择Items,点击,在,点击,在ListItem集合编辑器中添加项。集合编辑器中添加项。(2) 编程实现:编程实现: protected void Page_Load(object sender, EventArgs e) this.RadioButtonList1.Items.Add(男男); this.RadioButtonList1.Items.Add(女女); this.RadioButtonList1.Items.Add(保密保密);

35、 4.3.3 选择和列表控件选择和列表控件h 3CheckBox控件控件CheckBox控件定义示例如下:控件定义示例如下:表表4.13列出了列出了CheckBox控件的常用属性和事件。控件的常用属性和事件。属性属性/事件事件说明说明Checked布尔值,规定是否选定单选按钮布尔值,规定是否选定单选按钮AutoPostBack布尔值,规定在布尔值,规定在 Checked 属性被改变后,是否属性被改变后,是否立即回传表单。默认是立即回传表单。默认是 falseCheckedChanged当当 Checked 被改变时,被执行的函数的名称被改变时,被执行的函数的名称TextCheckBox控件旁边

36、的文本控件旁边的文本TextAlign文本应出现在文本应出现在CheckBox的哪一侧(左侧还是的哪一侧(左侧还是右侧)右侧)表表4.13CheckBox控件的常用属性和事件控件的常用属性和事件4.3.3 选择和列表控件选择和列表控件h 4CheckBoxList控件控件CheckBoxList控件定义如下:控件定义如下:琴琴棋棋 书书 画画4.3.3 选择和列表控件选择和列表控件【例例4.3】 CheckBoxList控件的控件的SelectedIndexChanged事件。事件。页面设计:拖放一个页面设计:拖放一个CheckBoxList控件到页面上,在它的控件到页面上,在它的“智能标记智

37、能标记”上上选择选择“编辑项编辑项”,打开,打开“ListItem集合编辑器集合编辑器”,单击,单击“添加添加”,为单选按钮,为单选按钮列表添加几个选项,分别输入列表添加几个选项,分别输入Text、Value和和Selected属性的值。将该属性的值。将该CheckBoxList控件的控件的AutoPostBack属性设置为属性设置为True,同时定义一个,同时定义一个SelectedIndexChanged事件。事件。图图4.9 CheckBoxList控件示例控件示例protected void CheckBoxList1_SelectedIndexChanged(object sende

38、r, EventArgs e) int i; string str=你的爱好有:; for (i = 0; i CheckBoxList1.Items.Count; i+) if (CheckBoxList1.Itemsi.Selected) str += CheckBoxList1.Itemsi.Text + ; Label1.Text = str; 4.3.3 选择和列表控件选择和列表控件h 5DropDownList控件控件DropDownList控件在控件在Web页面上呈现为下拉列表框,它允许用户页面上呈现为下拉列表框,它允许用户从预定义的多个选项中选择一项。从预定义的多个选项中选择一

39、项。DropDownList控件定义示例如下:控件定义示例如下:您的学历:您的学历: 博士博士 硕士硕士本科本科4.3.3 选择和列表控件选择和列表控件属性属性/事件事件说明说明AutoPostBack指示当用户改变选项时该控件是否应当自动地回发指示当用户改变选项时该控件是否应当自动地回发到服务器到服务器DataMemberDataSource中要绑定的表的名称中要绑定的表的名称DataSource填充该列表的项目的数据源填充该列表的项目的数据源DataTextField提供列表的文本的数据源字段的名称提供列表的文本的数据源字段的名称DataValueField提供一个列表项的值的数据源字段的

40、名称提供一个列表项的值的数据源字段的名称Items获得列表控件中的项目集合获得列表控件中的项目集合SelectedIndex获得或设置列表中被选项的索引获得或设置列表中被选项的索引SelectedItem获得列表中的被选项获得列表中的被选项SelectedValue获得列表中被选项的值获得列表中被选项的值SelectedIndexChanged当列表控件的选择项发生变化时触发当列表控件的选择项发生变化时触发表表4.14列出了列出了DropDownList控件的常用属性和事件。控件的常用属性和事件。表表4.14 DropDownList控件的常用属性和事件控件的常用属性和事件4.3.3 选择和列

41、表控件选择和列表控件【例例4.4】 DropDownList控件的控件的SelectedIndexChanged事件。事件。页面设计:拖放一个页面设计:拖放一个DropDownList控件到页面上,在它的控件到页面上,在它的“智能智能标记标记”上选择上选择“编辑项编辑项”,打开,打开“ListItem集合编辑器集合编辑器”,单击,单击“添添加加”,为下拉列表框添加几个选项,分别输入,为下拉列表框添加几个选项,分别输入Text、Value和和Selected属属性的值(见下面代码中所示)。将该性的值(见下面代码中所示)。将该DropDownList控件的控件的AutoPostBack属性设置为属

42、性设置为True,同时定义一个,同时定义一个SelectedIndexChanged事事件。同时添加两个件。同时添加两个Label控件和一个控件和一个TextBox控件,控件,ID为为Label1控件的控件的Text属性设置为属性设置为“密码提示问题:密码提示问题:”。ID为为Label2控件用于显示所选择控件用于显示所选择的密码提示问题,的密码提示问题,TextBox控件用于输入答案。控件用于输入答案。图图4.10DropDownList控件示例控件示例protected void DropDownList1_SelectedIndexChanged(object sender, Event

43、Args e) switch(DropDownList1.SelectedValue) case 1: Label1.Text = 你母亲的生日是:; break; case 2: Label1.Text = 你最喜欢看的书是:; break; case 3: Label1.Text = 你最难忘的日子是:; break; SelectedIndexChanged事件的处理代码:事件的处理代码:4.3.3 选择和列表控件选择和列表控件h 6ListBox控件控件ListBox控件定义示例如下:控件定义示例如下:身份:身份:已工作已工作 大学生大学生 中学生中学生/中专技校中专技校 以上都不是以

44、上都不是列表示例列表示例SelectionMode属性的值4.3.3 选择和列表控件选择和列表控件【例例4.5】 ListBox控件的控件的SelectedIndexChanged事件。事件。页面设计:拖放一个页面设计:拖放一个ListBox控件到页面上,在它的控件到页面上,在它的“智能标记智能标记”上选择上选择“编辑项编辑项”,打开,打开“ListItem集合编辑器集合编辑器”,单击,单击“添加添加”,为下拉列表框添加几个选项,分别输入为下拉列表框添加几个选项,分别输入Text、Value和和Selected属性属性的值。将该的值。将该ListBox控件的控件的AutoPostBack属性设

45、置为属性设置为True,同时定义,同时定义一个一个SelectedIndexChanged事件。事件。图图4.11 ListBox控件示例控件示例protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) int i; string str = 您选择了这些课程:; for (i = 0; i ListBox1.Items.Count; i+) if (ListBox1.Itemsi.Selected) str += ListBox1.Itemsi.Text + ; Label2.Text = str; Se

46、lectedIndexChanged事件的处理代码:4.3.3 选择和列表控件选择和列表控件h 7BulletedList控件控件BulletedList控件用于创建一个无序的或有序的项列表,控件用于创建一个无序的或有序的项列表,表表4.15列出了列出了BulletedList控件的主要属性。控件的主要属性。属 性说 明AppendDataBoundItems指示在添加数据绑定的项目时应当保留还是清除静态定义的项目BulletImageUrl获得或设置到用做项目符号的图像的路径BulletStyle确定项目符号的样式DataMemberDataSource中要绑定的表的名称DataSource

47、用来填充该列表控件的列表项的数据源DataSourceID提供数据的数据源组件的IDDataTextField提供列表项的文本的数据源字段的名称DataValueField提供列表项的值的数据源字段的名称DisplayMode确定如何显示列表项:纯文本、链接按钮或超链接FirstBulletNumber获得或设置编号的起始值Items获得列表控件中的列表项的集合Target指示超链接模式下的目标框架表4.15 BulletedList控件的属性4.3.3 选择和列表控件选择和列表控件其中的其中的BulletStyle枚举值如表枚举值如表4.16所示。所示。枚枚 举举 值值说说 明明Circle

48、表示项目符号编号样式设置为表示项目符号编号样式设置为“”空圈空圈CustomImage编号样式设置为自定义图片,图片由编号样式设置为自定义图片,图片由BulletImageUrl属性指定属性指定Disc编号样式设置为编号样式设置为“”实圈实圈LowerAlpha编号样式设置为小写字母格式,如编号样式设置为小写字母格式,如a、b、c、d等等LowerRoman编号样式设置为小写罗马数字格式,如编号样式设置为小写罗马数字格式,如i、ii、iii、iv等等NotSet表示不设置项目符号编号样式表示不设置项目符号编号样式Numbered编号样式为数字格式,如编号样式为数字格式,如1、2、3、4等等Sq

49、uare编号样式为编号样式为“”实体黑方块实体黑方块UpperAlpha编号样式为大写字母格式,如编号样式为大写字母格式,如A、B、C、D等等UpperRoman编号样式为大写罗马数字格式,如编号样式为大写罗马数字格式,如I、II、III、IV等等表表4.16 BulletStyle枚举值列表枚举值列表4.3.3 选择和列表控件选择和列表控件以下是一个以下是一个BulletedList控件的定义示例:控件的定义示例:第一项第一项第二项第二项图图4.12 BulletedList控件示例控件示例4.3.4 HyperLink控件控件HyperLink服务器控件在服务器控件在Web页上创建超级链接

50、,使用户可以在应页上创建超级链接,使用户可以在应用程序中的页之间移动跳转到其他页面,相当于用程序中的页之间移动跳转到其他页面,相当于HTML中的中的元素。元素。HyperLink控件定义的语法格式如下:控件定义的语法格式如下:网站服务条网站服务条款款此行代码定义一个超级链接此行代码定义一个超级链接 。属属 性性说说 明明ImageUrl 显示此链接的图像的显示此链接的图像的 URLNavigateUrl 该链接的目标该链接的目标 URL,当用户单击链接时会,当用户单击链接时会转向此转向此URLTarget URLURL的目标框架,默认为本框架,的目标框架,默认为本框架,_blank表示新窗口表

51、示新窗口Text显示该链接的文本显示该链接的文本表表4.17 HyperLink控件的常用属性控件的常用属性4.3.5 Table控件控件Table控件定义的语法格式如下:控件定义的语法格式如下: 如果希望在运行时通过代码向表中添加行和列时,则可以使用如果希望在运行时通过代码向表中添加行和列时,则可以使用Table服务器控件。服务器控件。对 象成 员功 能TableBackImageUrlCaptionCaptionAlignCellPaddingCellSpacingRows表格的背景图像的表格的背景图像的 URL表格的标题表格的标题标题文本的对齐方式标题文本的对齐方式Table中单元格内容

52、和单元格边框之间的空间量(单位:中单元格内容和单元格边框之间的空间量(单位:像素)像素)Table控件中相邻单元格之间的空间量(以像素为单位)控件中相邻单元格之间的空间量(以像素为单位)Table控件中行的集合控件中行的集合TableRowHorizontalAlighVerticalAlighCells获取或设置行内容的水平对齐方式获取或设置行内容的水平对齐方式获取或设置行内容的垂直对齐方式获取或设置行内容的垂直对齐方式获取获取TableCell对象的集合,这些对象表示对象的集合,这些对象表示Table控件中的控件中的行的单元格行的单元格TableCellColumnSpanRowSpanT

53、ext获取或设置该单元格在获取或设置该单元格在Table跨越的列数跨越的列数获取或设置获取或设置Table控件中单元格跨越的行数控件中单元格跨越的行数获取或设置单元格的文本内容获取或设置单元格的文本内容表4.18 Table及内部对象部分属性4.3.5 Table控件控件动态地创建一个动态地创建一个Table包含三个步骤:包含三个步骤:(1)创建)创建TableRow对象以表示表中的行。对象以表示表中的行。(2)创建)创建TableCell对象,表示行中的单元格,并将单元格添加到对象,表示行中的单元格,并将单元格添加到行中。行中。(3)将)将TableRow添加到添加到Table控件的控件的R

54、ows集合中。集合中。【例例4.6】 Table控件中动态生成行和列。控件中动态生成行和列。页面设计:拖放两个页面设计:拖放两个DropDownList控件到页面上,用来接收用户选控件到页面上,用来接收用户选择要生成表格的行数和列数。在下拉列表框的择要生成表格的行数和列数。在下拉列表框的“智能标记智能标记”上选择上选择“编编辑项辑项”,打开,打开“ListItem集合编辑器集合编辑器”,单击,单击“添加添加”,为下拉列表框,为下拉列表框添加几个选项,分别输入添加几个选项,分别输入Text、Value和和Selected属性对应的数字。拖放属性对应的数字。拖放一个一个Table,设置一些简单属性

55、,不添加行。拖放一个,设置一些简单属性,不添加行。拖放一个“确认确认”按钮,按钮,编写该按钮的服务器端编写该按钮的服务器端Click事件的代码,动态生成一个事件的代码,动态生成一个Table。本例网页本例网页example4-6.aspx程序程序代码代码。protected void Button1_Click(object sender, EventArgs e) int numrow =int.Parse( DropDownList1.SelectedValue); int numcell = int.Parse(DropDownList2.SelectedValue); Table1.B

56、orderWidth = 2; Table1.BorderColor = System.Drawing.Color.Blue; for (int i = 0; i numrow; i+) TableRow tr = new TableRow(); for (int j = 0; j numcell; j+) TableCell tc = new TableCell(); tc.Text = i.ToString() + j.ToString(); tr.Cells.Add(tc); Table1.Rows.Add(tr); 4.3.5 Table控件控件本例中本例中Table控件是动态生成的。

57、根据两个下拉列表框中用户选择的控件是动态生成的。根据两个下拉列表框中用户选择的值确定行数和列数,利用两重循环生成值确定行数和列数,利用两重循环生成Table,外重循环生成行,得到,外重循环生成行,得到TableRow对象;内重循环生成行中的单元格,得到对象;内重循环生成行中的单元格,得到TableCell对象。程序对象。程序运行结果如图运行结果如图4.13所示。所示。图图4.13 Table控件示例控件示例4.3.6 AdRotator控件控件AdRotator控件用于在网页上显示广告,定义示例如下:控件用于在网页上显示广告,定义示例如下: 除了从除了从WebControl继承的属性外,表继承

58、的属性外,表4.19列出了列出了AdRotator控件包控件包含的其他属性和事件。含的其他属性和事件。表4.19 AdRotator控件的属性和事件名 称类 型说 明AdvertisementFileString包含广告及广告属性列表的XML路径AlternateTextFieldString广告文件或数据字段的元素名称,在其中储存了替换文本。默认值为AlternateTextDataMemberString控件将绑定到的数据列表的名称DataSourceObject控件将要从中获取数据的对象DataSourceIDString控件将要从中获取数据的控件的IDImageUrlFieldStri

59、ng广告文件或数据字段的元素名称,其中储存了图片的URL。默认值为ImageUrlNavigateUrlFieldString广告文件或数据字段的元素名称,在其中储存了要导航到的URL。默认值为NavigateUrlTargetString单击AdRotator时用于显示目录页面内容的浏览器窗口或框架4.3.6 AdRotator控件控件 Target属性用于指定由哪个浏览器窗口或框架显示单击属性用于指定由哪个浏览器窗口或框架显示单击AdRotator控件后的结果页面。它指定是否用结果页面替换当前浏览器窗口或框控件后的结果页面。它指定是否用结果页面替换当前浏览器窗口或框架中显示的当前内容,或是

60、打开一个新浏览器窗口,或是其他的操作。架中显示的当前内容,或是打开一个新浏览器窗口,或是其他的操作。值值说说 明明_blank在除框架之外未命名的新窗口呈现内容在除框架之外未命名的新窗口呈现内容_new未文档化。单击时的行为与未文档化。单击时的行为与_blank相同,只不过后续的单击将相同,只不过后续的单击将在同一个窗口呈现,而不用打开一个新窗口在同一个窗口呈现,而不用打开一个新窗口_parent在链接所在窗口或框架的父窗口或框架呈现内容。如果子容器在链接所在窗口或框架的父窗口或框架呈现内容。如果子容器是一个窗口或顶级的框架,则与是一个窗口或顶级的框架,则与_self相同相同_self在当前焦点所在的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论