版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Web技术与应用》科学出版社第5章ASP.NET根本程序设计第5章ASP.NET根本程序设计5.1.NETFramework体系结构5.2ASP.NETWeb简介5.3创立ASP.NET应用程序5.4ASP.NET程序结构5.5Web效劳器控件简介5.6Web标准效劳器控件5.7验证控件5.1.NETFramework体系结构.NETFramework也常称作.NET框架,它是由微软公司开发的一套具有跨平台性、适用于快速应用开发的软件开发平台。它提供了极为丰富的可应用于Internet及Intranet高效开发的技术。.NETFramework的体系结构主要包括两大核心组件:公共语言运行时,也译为公共语言运行库(CommonLanguageRuntime,CLR)和.NETFramework类库(FrameworkClassLibrary,FCL)。5.1.NETFramework体系结构.NETFramework体系结构公共语言运行时(CLR)公共语言运行时(CLR)是所有.NET应用程序的运行环境它提供对内存、线程、对象生存期、代码访问平安性、异常处理等方面的管理和效劳。5.1.2.NET类库(FCL)在CLR之上的是.NETFramework类库(FCL),它是是一套功能极为丰富的、面向对象的可重用类型集合提供许多类与接口,包括ADO.NET、XML、IO、网络、调试、平安和多线程等。.NETFramework类库是以命名空间方式来组织的,命名空间与类库的关系就象文件系统中的目录与文件的关系一样,使得繁杂的类库变得结构清晰。5.2ASP.NETWeb简介ASP.NET是.NETFramework的一局部。当建立ASP.NETWeb页面时,可以使用ASP.NET效劳器端控件创立功能丰富而强大的各种Web元素(如文本输入框、下拉列表框以及日历控件等),并对这些控件采用面向对象的编程方法,完成期望的开发任务。运用ASP.NET技术以及VisualStudio开发平台可以提升Web程序开发人员的工作效率。5.2ASP.NETWeb简介当用户通过浏览器输入网址或点击某个ASP.NET页面的链接后,浏览器将消息发送到ASP.NETWeb应用效劳器,即IIS。Web应用效劳器对ASP.NETWebForm的处理过程主要包括如下图的几个阶段。5.3创立ASP.NET应用程序开发ASP.NET应用程序主要有两种方法:一种是直接通过文本编辑器编辑源程序,然后在浏览器中测试程序运行结果。另一种使用支持ASP.NET的应用开发工具,如VisualStudio2023。用开发工具进行应用程序开发和管理具有高效、易于管理等优点,应用广泛。5.3创立ASP.NET应用程序使用VisualStudio2023创立Web应用程序的步骤主要如下:(1)创立一个新站点选择如下的菜单结构:“文件〞→“新建〞→“网站〞。VisualStudio将显示一个“新建网站〞的对话框。5.3创立ASP.NET应用程序
图5.3新建网站对话框图5.4添加新项对话框
新建网站对话框
添加新项对话框5.3创立ASP.NET应用程序(2)选择开发语言根据VisualStudio安装时所选择的语言种类,当前可选择的语言项将会有所不同。如果VisualStudio安装时选择的是完整安装,那么当前可以选择的语言有VisualBasic.NET、C#和J#等。5.3创立ASP.NET应用程序(3)添加一个Web页面在“解决方案资源管理器〞中右击当前网站路径,选择“添加新项…〞,将弹出“添加新项〞对话框。该对话框列表中包涵了多种类型的Web站点文件模板。选择“WebForm〞,然后在命名文本框中输入“Main.aspx〞,单击“添加…〞按钮,VisualStudio将为Main.aspx页面生成一局部必须的ASP.NET代码。5.3创立ASP.NET应用程序(4)熟悉VisualStudio开发环境
VisualStudio开发环境模式标签解决方案资源管理器属性5.3创立ASP.NET应用程序(5)熟悉VisualStudio开发环境使用效劳器控件的方法有两种。一是直接在“源〞模式下源代码编辑窗口编写代码;另一是在“设计〞模式下将左侧工具栏中的效劳器控件拖放到主编辑区域。本例如从工具栏窗口“标准〞控件中分别拖放一个Label控件、一个TextBox控件和一个Button控件。然后,单击Label控件,在右侧的属性窗口,设置该控件的ID为“LTest〞,Text为“您输入的内容〞;再单击TextBox控件,在右侧的属性窗口,设置该控件的ID为“TBTest〞;再单击Button控件,在右侧的属性窗口,设置该控件的ID为“BtnSubmit〞,Text为“提交〞。5.3创立ASP.NET应用程序(6)编写代码双击Button控件,VisualStudio会切换到后台代码编辑窗口。此时,VisualStudio已经为Button控件自动生成了一个名为“BtnSubmit_Click〞的方法。在该方法中输入如下一行代码:LTest.Text="您输入的内容是:"+TBTest.Text;5.3创立ASP.NET应用程序(7)编译并运行该Web站点在“解决方案资源管理器〞中找到Main.aspx并右击,选择“设为起始页〞。要编译运行该应用程序,可从主菜单中选择“调试〞→“启动调试〞或者按下快捷键【F5】。如果源代码有错误,它们将出现在窗口底部的错误窗口中。如果代码无误,将启动一个默认浏览器窗口并显示当前页面。5.4ASP.NET程序结构ASP.NET应用程序由界面和程序代码两大局部:(1)界面局部,也可称为“可视化组件〞(VisualComponent),主要由HTML标记和控件标记构成,从<html>标记开始,至</html>结束。5.4ASP.NET程序结构(2)程序代码局部也称为“用户接口逻辑〞(UserInterfaceLogic),由高级语言程序代码组成,由脚本程序标记<ScriptLanguage="高级语言名称"Runat="Server">和</Scipt>将程序包含起来。5.4ASP.NET程序结构ASP.NET为构造其页面的代码提供了两条途径。一种是内联编码模型。这个模型对ASP、JSP开发人员来说很熟悉,因为所有的代码都包含在一个.aspx页面中。另一种是使用ASP.NET的隐藏代码模型。允许把页面的业务逻辑代码与其显示逻辑代码分开。在隐藏代码模型中,页面的显示逻辑存储在.aspx页面中,业务逻辑存储在单独的类文件.aspx.cs中。5.5Web效劳器控件简介ASP.NET提供了一组使用方便、功能强大的效劳器控件,控件就是一个可重用的组件或者对象,是ASP.NET页面上能被效劳器代码访问和操作的页面元素。ASP.NET效劳器控件可分为以下三种类型:(1)HTML效劳器控件(2)Web效劳器控件(3)用户自定义效劳器控件5.5Web效劳器控件简介(1)HTML效劳器控件HTML效劳器控件是效劳器可理解的HTML标签,它封装了标准的HTML元素。默认HTML元素是作为文本来进行处理的,要想使这些元素可编程,就需要向这些HTML元素添加runat=“server〞属性,如:<inputid=“Button1〞type=“button〞runat=“server〞value=“提交〞/>其中,runat=“server〞表示该元素是一个效劳器控件。5.5Web效劳器控件简介(2)Web效劳器控件Web效劳器控件也是在效劳器端执行的控件,比HTML效劳器控件功能更为强大,具有更多内置功能。Web控件不只包括对应HTML的表单(Form)类型的控件,例如:按钮和文本框等,而且还包括特殊用途的控件,如日历控件、DataGrid控件等,它们提供了更为丰富的用户界面和事件处理。5.5Web效劳器控件简介Web效劳器控件又分为:标准效劳器控件验证控件导航控件数据控件登录控件5.5Web效劳器控件简介(3)用户自定义效劳器控件自定义控件可由用户根据需要定义自己的控件,从而扩充系统的能力。自定义控件被定义在命名空间中,它存放在扩展名为.ascx的文件中,使用时只需将其引入到ASP.NET应用程序中。5.6Web标准效劳器控件Web效劳器控件的根本语法如下:<asp:控件名id="控件名称"runat="server"属性1="属性值1"…></asp:控件名>或者<asp:控件名id="控件名称"runat="server"属性1="属性值1"…/>5.6.1Web效劳器控件根本语法5.6.2Web效劳器控件的常用属性和事件属性名说明Attributes属性控件属性集合。该属性只能在编程时指定。BackColor属性控件的背景颜色。Enabled属性控件能否被用户访问。Font-Name属性控件上的文本字体。此外,还有以下属性指定控件上字体的显示特性ForeColor属性控件上文本的颜色。Height属性控件的高度,以像素点为单位。Width属性控件的宽度,以像素点为单位。ToolTip属性设置当鼠标指针悬停在Web服务器控件上时显示的文本。Visible属性控件是否可见。Command事件当Web服务器控件被按下时会触发该事件。Button、ImageButton等控件具有该事件。Click事件当Web服务器控件被按下时会触发该事件。Button、ImageButton等控件具有该事件。TextChanged事件当Web服务器控件上文本发生变化时会触发该事件。TextBox等控件具有该事件。CheckChanged事件当Web服务器控件的选项发生变化时会触发该事件。CheckBox、RadioButton等控件具有该事件。SelectIndexChanged事件当Web服务器控件的列表选项发生变化时会触发该事件。列表类控件CheckBoxList、DropDownList、ListBox和RadioButtonList等控件具有该事件。5.6.3Button控件Button控件用于在Web页面上创立一个按钮,通过它的Text属性设置按钮在页面上显示的名称,如“确定〞、“取消〞或“提交〞等。通常,Button控件可以创立两种类型的按钮:提交按钮(submit)或命令按钮(command)。提交按钮的根本语法如下:<asp:ButtonID="BtnSubmit"runat="server"Text="提交"onclick="BtnSubmit_Click"/>属性或事件名说明Text属性获取或设置按钮上的文本。CausesValidation属性获取或设置当按下按钮时,是否执行验证控件,默认为True。CommandName属性获取或设置Button控件的命令名,当发生Command事件时,该属性将会与CommandArgument属性值一起发送到服务器作为事件处理的参数。CommandArgument属性获取或设置命令参数,当发生Command事件时,该属性将会与CommandName属性值一起发送到服务器作为事件处理的参数。Click事件在单击按钮时将触发该事件。它用于提交按钮。Command事件在单击按钮时将触发该事件。它用于命令按钮,要求所使用的按钮必须定义CommandName和CommandArgument属性。参数为CommandEventArgs该参数具有CommandName和CommandArgument两个属性。Button控件的常用属性和事件
5.6.4Label控件Label控件提供了一种在ASP.NET网页中显示文本的方法。与Button控件相似,使用Label控件也可以在Web程序运行时,动态地改变Label控件在页面上显示的文本,还可以将Label控件的Text属性绑定到数据源,以在页面上显示数据库信息等。Label控件的根本语法如下:<asp:LabelID="Label_1"runat="server"Text="星期一"></asp:Label>上述代码表示Label_1控件将会在页面上显示“星期一〞,也可以通过在代码里动态设置它的Text属性来改变其内容。5.6.5Literal控件Literal控件也可在Web页面上显示静态文本,该控件除了生成预期的文本(即Text属性设置的值)外,不会在HTML源码中生成其他HTML元素。Literal控件的根本语法与Label控件相似:<asp:LiteralID="Literal_1"runat="server"Text="星期三"></asp:Literal>可通过Text属性来设置它输出的文档内容,如下面的代码所示:Literal1.Text="星期四";5.6.6TextBox控件TextBox控件用于在Web页面中创立用户可输入文本的文本框,创立的文本框可是单行文本、多行文本框和密码输入文本框。TextBox控件的根本语法如下:<asp:TextBoxID="TextBox_1"runat="server"></asp:TextBox>TextBox控件的常用属性和事件
属性或事件名说明AutoPostBack属性获取或设置当TextBox控件上的内容发生改变后是否自动上传窗体数据,默认为False。该属性要与OnTextChanged事件配合使用。Columns属性获取或设置TextBox控件的宽度(以字符为单位)。Rows属性获取或设置TextBox控件的高度。仅当TextMode属性设置为MultiLine时,此属性才适用。MaxLength属性获取或设置文本框中最多允许的字符数。当TextMode属性设置为MultiLine时,此属性不适用。ReadOnly属性获取或设置TextBox控件是否为只读。将该属性设置为True将禁止用户输入值或更改现有值。默认值为False。Text属性获取或设置文本框的文本内容。Wrap属性获取或设置是否允许文本框上的内容换行。若允许换行,该属性为True;否则为False。默认为true。仅当TextMode属性设置为MultiLine时,此属性才适用。TextMode属性获取或设置文本框的类型。TextMode的有3种取值。Height属性获取或设置TextBox控件的高度(以像素为单位)。Width属性获取或设置TextBox控件的宽度(以像素为单位)。OnTextChanged事件当Text属性的值改变时会触发此事件。注意,当AutoPostBack属性设置为True,在TextBox控件中输入文本,当按下Tab键时,将触发TextBox控件的OnTextChanged事件。HTML局部如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="WebApplication._Default"%><htmlxmlns=":///1999/xhtml"><headrunat="server"><title>用户登录</title></head><bodyrunat="server"><formrunat="server"><tablestyle="width:320px;"id="TableLogon"><tr><tdwidth="100px"> 用户名:</td><td> <asp:TextBoxID="TBName"runat="server"Width="180px"></asp:TextBox></td></tr><tr><tdwidth="100px"> 密 码:</td><td> <asp:TextBoxID="TBPassword"runat="server"TextMode="Password"Width="180px"></asp:TextBox></td></tr><tr><tdwidth="100px"> 登录状态:</td><td> <asp:LabelID="LBLogon"runat="server"Text="未登录"></asp:Label></td></tr><tr><tdcolspan="2"style="text-align:center"><asp:ButtonID="BtnLogon"runat="server"Text="登录"onclick="BtnLogon_Click"/></td></tr></table></form></body></html>【例5.1】用户登录页面例如。本例通过一个常见的用户登录页面,说明上述Button控件、Label控件和TextBox控件使用。C#代码局部如下:usingSystem;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Drawing;namespaceWebApplication{protectedvoidBtnLogon_Click(objectsender,EventArgse){if(TBName.Text.Equals("user")&&TBPassword.Text.Equals("123456")){LBLogon.Text="登录成功";LBLogon.ForeColor=Color.Green;}else{LBLogon.Text="登录失败";LBLogon.ForeColor=Color.Red;}}}}【例5.1】(续)5.6.7CheckBox控件CheckBox控件可创立一个复选框,该复选框允许用户在true和false状态之间切换。通过设置Text属性,可指定要在该控件中显示的文字信息,还可通过设置TextAlign属性指定文字显示在哪一侧。CheckBox控件的根本语法如下:<asp:CheckBoxID="CheckBox1"runat="server"Text="工程1"/>CheckBox控件的常用属性和事件
属性或事件名说明Checked属性获取或设置复选框是否处于选中状态。如果复选框处于选中状态,则为True;否则为False。默认值为False。Text属性获取或设置CheckBox控件的文本内容。TextAlign属性获取或设置文本的对齐方式。Right为右对齐,Left为左对齐,默认为Right。AutoPostBack属性获取或设置当改变CheckBox控件的选择状态时,是否自动上传窗体数据到服务器。为True,则回发;为False,不回发。默认为False。OnCheckedChanged事件当Checked属性的值改变时会触发此事件。HTML局部如下:<headrunat="server"><title>喜欢的菜系</title></head><bodyrunat="server"><formrunat="server"><div><p><asp:LabelID="LBFavorites"runat="server"Text="您喜欢的菜系有:"></asp:Label></p><p><asp:CheckBoxID="CB1"runat="server"Text="川菜"OnCheckedChanged="CheckBox_Click"AutoPostBack="True"/> <asp:CheckBoxID="CB2"runat="server"Text="湘菜"OnCheckedChanged="CheckBox_Click"AutoPostBack="True"/> <asp:CheckBoxID="CB3"runat="server"Text="粤菜"OnCheckedChanged="CheckBox_Click"AutoPostBack="True"/> <asp:CheckBoxID="CB4"runat="server"Text="鲁菜"OnCheckedChanged="CheckBox_Click"AutoPostBack="True"/></p></div></form></body></html>【例5.2】CheckBox例如。C#代码局部如下:{protectedvoidCheckBox_Click(objectsender,EventArgse){stringstrFavorites="";if(CB1.Checked)strFavorites+="川菜";if(CB2.Checked)strFavorites+="湘菜";if(CB3.Checked)strFavorites+="粤菜";if(CB4.Checked)strFavorites+="鲁菜";LBFavorites.Text="您喜欢的菜系有:"+strFavorites;}}【例5.2】(续)5.6.8CheckBoxList控件CheckBoxList控件是一个CheckBox控件组,当要显示多个CheckBox控件,并且对多个CheckBox控件都有大致相同的处理方式时,使用CheckBoxList控件十分方便。CheckBoxList控件的根本语法如下:<asp:CheckBoxListID="CheckBoxList1"runat="server"><asp:ListItem>工程1</asp:ListItem><asp:ListItem>工程2</asp:ListItem></asp:CheckBoxList>属性或事件名说明AutoPostBack属性获取或设置当改变CheckBox控件的选择状态时,是否自动上传窗体数据到服务器。默认为False。RepeatColumns属性获取或设置在CheckBoxList控件中显示项的列数。默认为0。RepeatDirection属性使用该属性指定CheckBoxList控件的显示方向。若该属性设置为Vertical,则列表项以垂直方式排列;若该属性设置为Horizontal,则列表项以水平方式排列。默认为Vertical。RepeatLayout属性获取或设置CheckBoxList控件的配置方式(表格方式、非表格方式)。如果该属性设置为Table,则在表中显示列表项;如果该属性设置为Flow,则不以表结构的形式显示列表项。默认为Table。DataSource属性获取或设置连接到CheckBoxList控件的数据源。Items集合中的项从DataTextField和DataValueField初始化。DataTextField属性获取或设置数据源的哪个字段将成为复选框的文本标签(即Text属性)。DataValueField属性获取或设置数据源的哪个字段将成为复选框的值(即Value属性)。Items属性该属性用于表示各个选项的集合。例如CheckBoxList1.Items[i]表示访问CheckBoxList1的第i个选项,i从0开始。SelectedIndex属性获取目前选择项的下标。如果有多个选择,则返回的是多个选择项中的最小下标。SelectedItem属性获取目前的选择项(ListItem对象)。如果有多个选择,则返回的是多个选择项中的最小下标项。TextAlign属性获取或设置文本标签与CheckBox控件的对齐方式。如果该属性设置为Right,则文本显示在复选框的右边;如果该属性设置为Left,则文本显示在复选框的左边。OnSelectedIndexChanged事件当选择的项改变时会触发此事件。与TextBox控件类似,该事件要与AutoPostBack属性配合使用,其使用与TextBox控件相似。CheckBoxList控件的常用属性和事件
CheckBoxList控件的每个选项,即ListItem对象都有以下3个根本属性:①Text:表示每个选项的文本。②Value:表示每个选项的选项值。③Selected:表示该选项是否选中。ListItem的属性HTML局部如下:<headrunat="server"><title>用户登录</title></head><bodyrunat="server"><formrunat="server"><div><p><asp:LabelID="LBFavorites"runat="server"Text="您喜欢的菜系有:"></asp:Label></p><p><asp:CheckBoxListID="CBL_1"runat="server"AutoPostBack="True"OnSelectedIndexChanged="CheckBox_Click"><asp:ListItem>川菜</asp:ListItem><asp:ListItem>湘菜</asp:ListItem><asp:ListItem>粤菜</asp:ListItem><asp:ListItem>鲁菜</asp:ListItem></asp:CheckBoxList></p></div></form></body></html>【例5.3】CheckBoxList例如。C#代码局部如下:{protectedvoidCheckBox_Click(objectsender,EventArgse){stringstrFavorites="";for(inti=0;i<CBL_1.Items.Count;i++){if(CBL_1.Items[i].Selected)strFavorites+=CBL_1.Items[i].Value+"";}LBFavorites.Text="您喜欢的菜系有:"+strFavorites;}}【例5.3】(续)5.6.9RadioButton控件RadioButton控件可在Web页面上创立一个单项选择按钮。RadioButton控件继承自CheckBox控件,它有CheckBox控件的所有属性和事件。新增GroupName属性。将GroupName相同的多个单项选择按钮分为一组,同一组按钮互相排斥。RadioButton控件的根本语法如下:<asp:RadioButtonID="RadioButton1"runat="server"Text="工程1"/>HTML局部如下:<headrunat="server"><title>您的最高学历</title></head><bodyrunat="server"><formrunat="server"><p>请选择您的最高学历:<asp:LabelID="LB1"runat="server"Text=""></asp:Label></p><p><asp:RadioButtonID="RB_1"runat="server"Text="大学专科"GroupName="AB"AutoPostBack="true"OnCheckedChanged="CB_Changed"/><asp:RadioButtonID="RB_2"runat="server"Text="大学本科"GroupName="AB"AutoPostBack="true"OnCheckedChanged="CB_Changed"/><asp:RadioButtonID="RB_3"runat="server"Text="硕士研究生"GroupName="AB"AutoPostBack="true"OnCheckedChanged="CB_Changed"/><asp:RadioButtonID="RB_4"runat="server"Text="博士研究生"GroupName="AB"AutoPostBack="true"OnCheckedChanged="CB_Changed"/></p></form></body></html>【例5.4】RadioButton例如。网工10.10C#代码局部如下:{protectedvoidCB_Changed(objectsender,EventArgse){if(RB_1.Checked)LB1.Text="大学专科";elseif(RB_2.Checked)LB1.Text="大学本科";elseif(RB_3.Checked)LB1.Text="硕士研究生";elseif(RB_4.Checked)LB1.Text="博士研究生";elseLB1.Text="未知";}}【例5.4】(续)5.6.10RadioButtonList控件RadioButtonList控件将多个单项选择按钮组织起来,便于处理,也可将一组按钮绑定到数据源。RadioButtonList控件的根本语法如下:<asp:RadioButtonListID="RadioButtonList1"runat="server"><asp:ListItem>工程1</asp:ListItem><asp:ListItem>工程2</asp:ListItem></asp:RadioButtonList>RadioButtonList控件属性和事件与CheckBoxList控件相同。HTML局部如下:<headrunat="server"><title>请选择一个月份</title></head><bodyrunat="server"><formrunat="server"><p>请选择一个月份:<asp:LabelID="LB1"runat="server"Text=""></asp:Label></p><p><asp:RadioButtonListID="RBL_1"OnSelectedIndexChanged="RBL_Changed"runat="server"AutoPostBack="True"><asp:ListItemValue="1">一月</asp:ListItem><asp:ListItemValue="2">二月</asp:ListItem><asp:ListItemValue="3">三月</asp:ListItem><asp:ListItemValue="4">四月</asp:ListItem></asp:RadioButtonList></p></form></body></html>【例5.5】本例说明了RadioButtonList控件中ListItem的Text属性和Value属性的区别和用途。C#代码局部如下:{protectedvoidRBL_Changed(objectsender,EventArgse){switch(Int32.Parse(RBL_1.SelectedValue)){case1:LB1.Text="您选择的是一月";break;case2:LB1.Text="您选择的是二月";break;case3:LB1.Text="您选择的是三月";break;case5:LB1.Text="您选择的是四月";break;default:break;}}}【例5.5】(续)5.6.11DropDownList控件DropDownList控件在Web页面上创立一个下拉列表框,允许用户从预定义下拉列表中选择一项。DropDownList控件的根本语法例如如下:<asp:DropDownListID="DropDownList1"runat="server"><asp:ListItemValue="1">工程一</asp:ListItem><asp:ListItemValue="2">工程二</asp:ListItem>……</asp:DropDownList><asp:DropDownListID="DropDownList1"runat="server"><asp:ListItemValue="1">第一季度</asp:ListItem><asp:ListItemValue="2">第二季度</asp:ListItem><asp:ListItemValue="3">第三季度</asp:ListItem><asp:ListItemValue="4">第四季度</asp:ListItem></asp:DropDownList>
例如:5.6.12ListBox控件ListBox控件可创立一个单项选择或多项选择的列表框。该控件与CheckBoxList相似,可提供用户选择多项条目的功能;与RadioButtonList相似,也可提供用户仅能选择一项条目的功能。ListBox控件的根本语法例如如下:<asp:ListBoxID="ListBox1"runat="server"><asp:ListItemValue="1">工程一</asp:ListItem><asp:ListItemValue="2">工程二</asp:ListItem>……</asp:ListBox><asp:ListBoxID="ListBox1"runat="server"><asp:ListItemValue="1">第一季度</asp:ListItem><asp:ListItemValue="2">第二季度</asp:ListItem><asp:ListItemValue="3">第三季度</asp:ListItem><asp:ListItemValue="4">第四季度</asp:ListItem></asp:ListBox>
例如:DropDownList与ListBox控件的区别ListBox控件的各选项是一个展开的列表,而DropDownList控件只能显示一个选择项,其他选择项要通过点击控件右侧的箭头才能展开。ListBox控件允许选择多项,而DropDownList控件只允许单项选择。5.6.13Image控件Image控件可页面上显示图片,它对应于HTML中的<img/>标签。在Image控件中,可通过设置它的ImageUrl属性来指定所显示图像的路径;设置AlternateText属性来指定图像不可用时代替图像显示的文本;设置ImageAlign属性指定图像相对于页面上其他元素的对齐方式。Image控件的根本语法如下:<asp:ImageID="Image1"runat="server"ImageUrl="images/image1.jpg"/>HTML局部如下:<headrunat="server"><title>请选择的图像</title></head><bodyrunat="server"><formrunat="server"><asp:ListBoxID="ListBox1"runat="server"AutoPostBack="True"Height="80px"><asp:ListItemValue="images/image(1).png">图像1</asp:ListItem><asp:ListItemValue="images/image(2).png">图像2</asp:ListItem><asp:ListItemValue="images/image(3).png">图像3</asp:ListItem><asp:ListItemValue="images/image(4).png">图像4</asp:ListItem></asp:ListBox> <asp:ImageID="Image_1"runat="server"Width="80px"Height="80px"/></form></body></html>C#代码局部如下:{protectedvoidPage_Load(objectsender,EventArgse){Image_1.ImageUrl=ListBox1.SelectedValue;}}【例5.6】Image控件例如。5.6.14ImageButton控件ImageButton与Button控件的功能根本相同。ImageButton控件可通过设置ImageUrl属性来指定在该控件中显示的图像,即生成一个图像按钮。ImageButton控件的根本语法如下:<asp:ImageButtonID="ImageButton1"runat="server"ImageUrl="images/image(2).png"OnClick="ImageButton1_Click"/>HTML局部如下:<headrunat="server"><title>请选择的图像</title></head><bodyrunat="server"><formrunat="server"><asp:ImageButtonID="ImageButton1"runat="server"ImageUrl="images/image(2).png"OnClick="ImageButton1_Click"/><p><asp:LiteralID="Literal1"runat="server"></asp:Literal></p></form></body></html>C#代码局部如下:{protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){Literal1.Text="您单击按钮时,图像的坐标为:(x:"+e.X+",y:"+e.Y+")";}}【例5.7】ImageButton控件例如。5.6.15HyperLink控件HyperLink控件在Web页面上创立文本或图片超链接。使用HyperLink控件可以在代码中灵活地设置链接属性。HyperLink控件的根本语法如下:<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl="main.html">文字说明...</asp:HyperLink>属性名说明ImageUrl属性获取或设置HyperLink控件链接的图片来源。NavigateUrl属性获取或设置HyperLink控件所链接到的URL。Target属性获取或设置点击HyperLink控件时,其链接到的网页在哪个框架或窗口打开。其取值必须以a到z的字母(不区分大小写)开头。Text属性获取或设置HyperLink控件的超连接文本。若同时设置了ImageURL和Text属性,则ImageUrl属性优先。如果ImageUrl属性指定的图像不可用,则显示Text属性中的文本。HyperLink控件的常用属性
5.6.16LinkButton控件LinkButton控件是HyperLink与Button控件的综合体,具有HyperLink控件的外观和Button控件的功能,用于在网页上创立超级链接样式的按钮。与Button控件一样,LinkButton控件也分为提交按钮和命令按钮两种,用法也与Button控件一致。LinkButton控件的根本语法如下:<asp:LinkButtonID="LinkButton1"runat="server">文字说明…</asp:LinkButton>HTML局部如下:<headrunat="server"><title>请选择的图像</title></head><bodyrunat="server"><formrunat="server"><asp:LinkButtonID="LinkButton1"runat="server"onclick="LinkButton1_Click">baidu</asp:LinkButton><br/><asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl="://baidu">baidu</asp:HyperLink></form></body></html>C#代码局部如下:{protectedvoidLinkButton1_Click(objectsender,EventArgse){Response.Redirect("://baidu");}}【例5.8】本例说明了LinkButton与HyperLink控件的区别。LinkButton与HyperLink控件的区别LinkButton控件与HyperLink控件的区别在于,LinkButton控件仅仅有与HyperLink控件相似的外观,但它没有超链接能力。使用Hyperlink控件、LinkButton控件及其OnClick事件处理都可实现超链接,其区别是:使用Hyperlink控件实现的超链接,当鼠标处于热区时,将在状态栏上显示出目标URL;以LinkButton控件实现的超链接,当鼠标处于热区时,在状态栏上显示的不是目标URL,而是“javascript:__doPostBack('LinkButton1','')〞。5.6.17Calendar控件Calendar控件可以在Web页面上创立一个日历,用户可通过该日历导航到任意一年的任意一天。当ASP.NET网页运行时,Calendar控件以HTML表格的形式呈现。Calendar控件的根本语法如下:<asp:CalendarID="Calendar1"runat="server"></asp:Calendar>属性或事件名说明DayHeaderStype属性月历中显示一周中每一天的名称和部分的样式。DayStyle属性所显示的月份中各天的样式。OtherMonthDayStyle属性上一个月和下一个月的样式。SelectedDayStyle属性选定日期的样式。SelectorStyle属性位于月历控件左侧,包含用于选择一周或整个月的连接的列样式。ShowDayHeader属性显示或隐藏一周中的每一天的部分。ShowGridLines属性显示或隐藏一个月中的每一天之间的网格线。ShowNextPrevMonth属性显示或隐藏到下一个月或上一个月的导航控件。ShowTitle属性显示或隐藏标题部分。TitleStyle属性位于月历顶部,包含月份名称和月导航连接的标题栏样式。TodayDayStyle属性当前日期的样式。WeekendDayStyle属性周末日期的样式。DayRender事件当日期被显示时触发该事件。NextPrevStyle属性标题栏左右两端的月导航所在部分的样式。SelectionChanged事件当用户选择日期时触发该事件。Calendar控件的常用属性和事件
HTML局部如下:<headrunat="server"><title>日历控件说明</title></head><bodyrunat="server"><formrunat="server"><asp:CalendarID="Calendar1"runat="server"onselectionchanged="Calendar1_SelectionChanged"></asp:Calendar><br/><asp:LiteralID="Literal1"runat="server"></asp:Literal></form></body></html>C#代码局部如下:{protectedvoidCalendar1_SelectionChanged(objectsender,EventArgse){Literal1.Text=Calendar1.SelectedDate.Date.ToShortDateString()+"是当年的第"+Calendar1.SelectedDate.DayOfYear.ToString()+"天";}}【例5.9】利用OnSelectionChanged事件,显示用户所选择的日历上的某一天,是当年的第几天
。5.6.18Panel控件Panel控件为Web页面内提供了一种容器控件,可以作为其他控件的容器。此控件作为HTML<div>元素在Web页面上呈现,可以将它用做静态文本和其他控件的父级。为了页面能够灵活控制,还可以编程方式生成控件以及显示和隐藏控件组。Panel控件的根本语法如下:<asp:PanelID="Panel1"runat="server"></asp:Panel>属性名说明BackImageURL属性获取或设置Panel控件背景图片的位置。HorizontalAlign属性获取或设置Panel控件内部的控件的水平对齐方式。该属性的取值及其含义为:Center(居中);Justify(左右对齐);Left(左对齐);Right(右对齐);NotSet(无设置)。Wrap属性获取或设置Panel控件内容是否自动换行。ScrollBars规定Panel中滚动栏的位置和可见性。GroupingText规定Panel中控件组的标题。HorizontalAlign规定内容的水平对齐方式。Panel控件的常用属性
Panel控件的主要用途在页面里对控件和标记进行分组。定义具有默认按钮的窗体。向其他控件添加滚动条。页面上自定义区域。5.6.19FileUpload控件FileUpload控件创立一个专用于客户端上传文件到效劳器的控件,它显示为一个文本框控件和一个浏览按钮。可以通过在该控件的文本框中输入要上传的文件在本地计算机上的完整路径,或者通过单击“浏览〞按钮,然后在“选择文件〞对话框中指定要上传的文件。FileUpload控件的根本语法如下:<asp:FileUploadID="FileUpload1"runat="server"/>HTML局部如下:<headrunat="server"><title>上传控件说明</title></head><bodyrunat="server"><formrunat="server"><asp:FileUploadID="FileUpload1"runat="server"></asp:FileUpload> <asp:ButtonID="UploadButton"Text="上传文件"OnClick="UploadButton_Click"runat="server"></asp:Button><p><asp:LiteralID="LUploadStatus"runat="server"></asp:Literal></p></form></body></html>C#代码局部如下:{protectedvoidCalendar1_SelectionChanged(objectsender,EventArgse){Literal1.Text=Calendar1.SelectedDate.Date.ToShortDateString()+"是当年的第"+Calendar1.SelectedDate.DayOfYear.ToString()+"天";}}【例5.10】利用FileUpload控件上传文件到效劳器。C#代码局部如下:namespaceWebApplication{stringstrSavePath=@"d:\Web\Upload\";protectedvoidUploadButton_Click(objectsender,EventArgse){if(!Directory.Exists(strSavePath)){Directory.CreateDirectory(strSavePath);}if(FileUpload1.HasFile){stringstrFileName=FileUpload1.FileName;strSavePath+=strFileName;FileUpload1.SaveAs(strSavePath);LUploadStatus.Text="文件已经上传";}else{LUploadStatus.Text="请指定要上传的文件";}}}}【例5.10】(续)5.7验证控件许多Web应用程序都需要对用户输入的数据进行各种有效性的验证,例如,电子邮件的格式是否正确,必须的字段是否都输入了数据,输入的数据是否在合理的范围内等。在以往的Web开发技术中,往往需要花费精力编写验证代码。ASP.NET中提供了6个验证控件,能自动处理常见的数据有效性验证情况,程序设计者可以使用这些控件,无须编写代码即可实现验证功能,从而可以简化程序设计,提高效率。ASP.NET的验证控件控件名功能CompareValidator将输入控件的值同常数值或其他输入控件的值相比较,以确定这两个值是否与由比较运算符(小于、等于、大于等)指定的关系相匹配。RangeValidator检查用户的输入是否在一个特定的范围内。RegularExpressionValidator检查用户的输入是否与正则表达式所定义的模式匹配。RequiredFieldValidator检查用户是否在输入控件中输入了数据。CustomValidator通过用户自定义函数判定输入的数据是否有效。ValidationSummary显示页面上所有验证控件所搜索到的验证错误。属性名说明ControlToValidate指定需要验证的控件名。Enabled指示是否启用验证控件。默认为True(启用)。ErrorMessage当验证失败时在ValidationSummary控件中显示的错误信息。ForeColor指定当验证失败时用于显示内联消息的颜色。IsValid返回ControlToValidate属性所指定的输入控件是否通过验证,通过为True,不通过为False。该属性只能在编程时使用。Text若设置该属性,则验证失败时会在验证控件中显示Text属性定义的消息。如果未设置此属性,则在控件中显示ErrorMessage属性中指定的文本。验证控件共有的主要属性
5.7.1RequiredFieldValidator控件如果要求用户必须填写网页上的某个表单输入元素,那么可使用RequiredFieldValidator控件。该控件检查其初始值与被验证控件包含的值是否相同,如果相同,那么验证失败;否那么验证通过。RequiredFieldValidator控件的根本语法如下:<asp:RequiredFieldValidatorrunat="Server"ID="RequiredFieldValidator1"ControlToValidate=""InitalValue=""Text=""ErrorMessage=""></asp:RequiredFieldValidator><headid="Head1"runat="server"><title>用户登录</title></head><bodyid="Body1"runat="server"><formid="Form1"runat="server"><p>用户名:
<asp:TextBoxID="TBName"runat="server"Width="180px"Text="UserName"></asp:TextBox> <asp:RequiredFieldValidatorID="RFVName"runat="Server"ControlToValidate="TBName"ErrorMessage="请输入用户名"InitialValue="UserName"/><br/>
密
码:
<asp:TextBoxID="TBPassword"runat="server"TextMode="Password"Width="180px"></asp:TextBox><asp:RequiredFieldValidatorID="RFVPassword"runat="Server"ControlToValidate="TBPassword"ErrorMessage="请输入密码"/><br/></p><p>登录状态:
<asp:LabelID="LBLogon"runat="server"Text="未登录"></asp:Label><br/></p><p><asp:ButtonID="BtnLogon"runat="server"Text="登录"OnClick="BtnLogon_Click"/></p></form></body></html>
【例5.11】RequiredFieldValidator验证控件例如。网页启动后显示如以下图A所示的数据输入界面,假设在“用户名〞和“密码〞框中不输入字符,那么给出相应的验证出错提示,如以下图B所示。【例5.11】〔续〕图A图B5.7.2CompareValidator控件CompareValidator验证控件用于将输入控件的值与指定值相比较,以确定这两个值是否与由比较运算符指定的关系相匹配。CompareValidator控件的语法格式如下:<asp:CompareValidatorrunat="Server"ID="CompareValidator1"ControlToValidate=""ControlToCompare=""Type="{Currency,Date,Double,Integer,String}"Oprator="{Equal,NotEqual,GreaterThan,GreaterThanEqual,LessThan,LessThanEqual,DataTypeCheck}"Text=""ErrorMessage=""></asp:CompareValidator>属性名说明ValueToCompare属性获取或设置用来比较的常量。ControlToCompare属性获取或设置与ControlToValidate属性所指定的控件进行比较的控件的标识。注意:通常不同时设置ControlToCompare属性和ValueToCompare属性;如果同时设置了这两个属性,则ControlToCompare属性优先。Type属性获取或设置用来比较的数据的类型(货币、日期、双精度浮点型、整型、字符串),默认为String。在进行比较之前,用户输入的数据将先被转换为指定的类型。Operator属性获取或设置比较运算符(等于、不等于、大于、大于等于、小于、小于等于、数据类型检查),默认值为Equal。CompareValidator控件特有的属性比较操作的种类操作说明Equal所验证的输入控件的值与其他控件的值或常数值之间的相等比较。NotEqual所验证的输入控件的值与其他控件的值或常数值之间的不相等比较。GreaterThan所验证的输入控件的值与其他控件的值或常数值之间的大于比较。GreaterThanEqual所验证的输入控件的值与其他控件的值或常数值之间的大于或等于比较。LessThan所验证的输入控件的值与其他控件的值或常数值之间的小于比较。LessThanEqual所验证的输入控件的值与其他控件的值或常数值之间的小于或等于比较。DataTypeCheck输入到所验证的输入控件的值与BaseCompareValidator.Type属性指定的数据类型之间的数据类型比较。如果无法将该值转换为指定的数据类型,则验证失败。<headrunat="server"><title>员工收入登记</title></head><bodyrunat="server"><formrunat="server">
用户名:<asp:TextBoxrunat="Server"ID="TBUserName"Text="输入用户名"/><br/>
年龄:<asp:TextBoxrunat="Ser
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产妇日常健康护理
- 中医护理实践案例分析
- 中医给药护理技术
- 河北省保定市唐县第一中学2023-2024学年高三上学期9月月考物理试题
- 包头稀土新材料深加工基地污水处理厂技术改造项目环境影响报告表
- 黑龙江省牡丹江中学2025-2026学年初三语文试题第二次诊断性测验试题含解析
- 浙江省宁波市象山县2026届下学期期末考试初三年级物理试题试卷含解析
- 甘肃省武威市民勤六中学2026届初三质量普查调研考试英语试题试卷含解析
- 山东省泰安泰山区七校联考2026届初三下学期五校协作体期初考试数学试题含解析
- 云南省巍山县重点中学2026届初三下学期第十四次周考英语试题(A)试卷含解析
- 半导体器件制程良率提升考核试卷
- 2024版《53积累与默写及期末知识复习卷》3年级语文下册(人教RJ)附参考答案
- DB51-T 2944-2022 四川省社会组织建设治理规范
- 2023年温州永嘉农商银行招聘考试真题
- JTG D50-2017公路沥青路面设计规范
- JT-T-1045-2016道路运输企业车辆技术管理规范
- 2024年浙江省宁波市北仑区中考一模科学试题
- CNC车床安全技术操作规程
- 原材料成品分析岗位操作规程(修订版)
- 《内科学胸腔积液》课件
- 血透室低血压护理查房课件
评论
0/150
提交评论