版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
://edu.phei/电子教学参考资料包中等职业学校教学用书〔计算机技术专业〕
ASP.NET网站开发案例教程赵增敏主编目录第1章构建ASP.NET开发环境第2章VisualBasic.NET语言与面向对象编程第3章Web窗体与效劳器控件第4章验证控件与用户控件第5章ASP.NET状态管理第6章ADO.NET数据访问第7章数据绑定列表控件应用第8章BBS工程设计第1章构建ASP.NET开发环境1.1理解ASP.NET1.2配置ASP.NET运行环境1.3VisualStudio.NET开发工具1.4创立ASP.NETWeb应用程序1.1理解ASP.NET1.1.1根本概念1..NETFramework .NETFramework是一种用于构建、部署和运行Web应用程序和XMLWeb效劳的平台,它提供了效率极高的、基于标准的多语言环境,能够将现有的投资与下一代应用程序和效劳集成,并能够迅速应对部署和操作Internet规模应用程序的挑战。.NETFramework包括三个主要局部:公共语言运行库、一组分层的统一类库和ASP.NET组件。2.ASP.NET ASP.NET是Microsoft.NETFramework中一套用于生成Web应用程序和XMLWeb效劳的技术。ASP.NET网页在效劳器上执行并生成发送到桌面或移动浏览器的标记〔如HTML、WML或XML〕。ASP.NET网页使用一种已编译的、由事件驱动的编程模型,这种模型可以提高性能并支持将应用程序逻辑与用户界面相隔离。3.Web窗体 Web窗体作为ASP.NET网页框架,是由包含可ASP.NET效劳器控件的可编程网页组成的,这种网页也称为Web窗体页。Web窗体页用作Web应用程序的用户界面,它在任何浏览器或客户端设备中向用户提供信息,并使用效劳器端代码来实现应用程序逻辑。第1章目录1.1理解ASP.NET1.1.2ASP.NET的主要优点〔1〕增强的性能。〔2〕可视化开发工具支持。〔3〕威力和灵活性。〔4〕简易性。〔5〕可管理性。〔6〕可缩放性和可用性。〔7〕自定义性和扩展性。〔8〕平安性。第1章目录1.2配置ASP.NET运行环境1.2.1ASP.NET平台要求 在Windows2000〔Professional、Server和AdvancedServer〕、WindowsXPProfessional以及WindowsServer2003系列产品上,客户端和效劳器应用程序都支持ASP.NET。此外,要开发ASP.NETWeb应用程序,还必须具备以下软件。具有ServicePack2的Windows2000Server或AdvancedServer、WindowsXPProfessional或64位版本,或WindowsServer2003系列产品之一。Internet信息效劳IIS5.0或更高版本。数据访问组件MDAC2.7或更高版本。.NETFramework1.x或更高版本。第1章目录1.2配置ASP.NET运行环境1.2.2安装IIS效劳器〔1〕在Windows2000中,选择“开始〞→“设置〞→“控制面板〞命令。〔2〕在“控制面板〞窗口中,双击“添加或删除程序〞图标。〔3〕在“添加/删除程序〞窗口中,单击“添加/删除Windows组件〞。〔4〕在“Windows组件向导〞对话框中,选取“Internet信息效劳〔IIS〕〞组件,单击“下一步〞按钮,然后根据向导的提示进行操作,直至完成安装。第1章目录1.2配置ASP.NET运行环境1.2.3创立虚拟目录1.什么是虚拟目录 虚拟目录是指在物理上未包含在站点主目录下的特定文件夹,但客户端浏览器却将其视为包含在主目录下的目录。虚拟目录与一个实际物理目录相对应,这个实际物理目录既可以是本地计算机的某个目录,也可以是远程计算机上的某个共享目录。虚拟目录具有别名,这个别名映射到Web内容所在的实际物理目录,Web浏览器通过别名来访问此目录。2.创立虚拟目录 在Windows2000Server中,可以使用Internet信息效劳管理单元在Web站点中创立虚拟目录,主要步骤包括。指定虚拟目录别名。输入与虚拟目录相对应的物理目录的路径。设置对虚拟目录的访问权限。第1章目录1.2配置ASP.NET运行环境1.2.4安装.NETFramework 要构建ASP.NET运行环境,除了安装和配置IIS、创立Web站点和虚拟目录之外,还必须安装数据访问组件MDAC和.NETFramework可再发行组件包。此外,还可以选择安装.NETFrameworkSDK,以便在开发ASP.NET应用程序查阅和参考相关的技术文档。安装数据访问组件安装NET.Framework可再发行组件包安装.NETFrameworkSDK第1章目录1.2配置ASP.NET运行环境1.2.5测试ASP.NET运行环境 安装运行ASP.NET应用程序所需的软件之后,下面通过手写代码方式创立一个基于代码内联模型的单文件Web窗体页,以便对ASP.NET运行环境进行测试。第1章目录1.3VisualStudio.NET开发工具1.3.1为什么要使用VisualStudio.NET 如果想使用VisualBasic.NET或VisualC#语言来开发ASP.NETWeb应用程序,VisualStudio.NET就是最正确的开发工具。因为VisualStudio.NET集成开发环境提供更快、更方便、更可靠的方式来开发应用程序的工具,这些工具包括:工程管理功能,用于创立和管理应用程序文件,包括部署到本地或远程效劳器。集成的编译和调试,用于生成应用程序并对应用程序进行测试和调试。可视化窗体设计器,可以在Web窗体上拖放控件并具有语法检查的HTML视图。代码识别编辑器,它们包括语句结束、语法检查和其他智能感知功能。效劳器资源管理器,用于翻开数据连接,登录效劳器,浏览它们的数据库和系统效劳,可以将节点从效劳器资源管理器拖放到设计器上,以创立新的数据组件。第1章目录1.3VisualStudio.NET开发工具1.3.2认识VisualStudio.NET集成开发环境第1章目录1.4创立ASP.NETWeb应用程序1.4.1创立Web工程〔1〕启动VisualStudio.NET集成开发环境,选择“文件〞→“新建〞→“工程〞命令。〔2〕在“新建工程〞对话框的左窗格中选择工程类型。例如,选择“Visualasic工程〞。〔3〕在该对话框的右窗格中选择工程模板。例如,选择“ASP.NETWeb应用程序〞。〔4〕在位置框中输入要创立工程的位置。例如,输入://localhost/asp_net,然后单击“确定〞按钮。此时,VisualStudio.NET将创立一个新的Web工程并在其中添加一些文件和引用项。第1章目录1.4创立ASP.NETWeb应用程序1.4.2检查工程结构ASP.NETWeb应用程序模板创立的工程内容AssemblyInfo.vb:用于描述程序集和指定版本控制信息。Global.asax:包含用于响应由ASP.NET引发的应用程序级别事件的代码。Styles.css:包含默认的HTML样式设置。Web.config:包含ASP.NET应用程序的配置信息。WebForm1.aspx:Web窗体中包含用户界面元素的局部。Webform1.aspx.vb:Web窗体的类文件。对一些.NETFramework命名空间的引用。第1章目录1.4创立ASP.NETWeb应用程序1.4.3添加Web窗体〔1〕在解决方案资源管理器中单击文件夹,选择“工程〞→“添加Web窗体〞命令。〔2〕在“名称〞框中输入文件名,单击“翻开〞按钮。〔3〕切换到HTML视图,可以看到源代码首行包含以下@Page指令:<%@Pagelanguage="VB"AutoEventWireup="false"Codebehind="webform1_02.aspx.vb"Inherits="asp_net.webform1_02"%>第1章目录1.4创立ASP.NETWeb应用程序1.4.4设计用户界面〔1〕设置Web窗体的属性。〔2〕添加HTML文本元素。〔3〕添加HtmpInput效劳器控件。〔4〕添加Web效劳器控件。1.4.5创立事件处理程序 在ASP.NET中,多数程序都是事件驱动的,即执行流程是由外界发生的事件所确定的。事件是一个信号,它告知应用程序有重要情况发生。例如,用户单击窗体上的某个按钮时,将引发一个Click事件并调用一个处理该事件的过程。为了实现Web窗体的功能,需要创立按钮btnOK的Click事件处理程序。第1章目录1.4创立ASP.NETWeb应用程序1.4.6设置Web窗体的浏览方式 在VisualStudio.NET中,浏览Web窗体有两种方式:使用集成开发环境内置的浏览器和使用InternetExplorer,默认设置是使用内置浏览器。假设要设置Web窗体的浏览方式,可执行以下操作。〔1〕选择“文件〞→“浏览方式〞命令。〔2〕从“浏览器列表〞中选择用来浏览文档的浏览器。〔3〕单击“设为默认值〞按钮,然后单击“关闭〞按钮。第1章目录1.4创立ASP.NETWeb应用程序1.4.7编译、运行和调试Web窗体1.使用“在浏览器中查看〞功能生成并运行Web窗体 选择“文件〞→“在浏览器中查看〞命令2.不用调试器生成并运行Web窗体 将要运行的Web窗体设置为起始页,然后按Ctrl+F53.使用调试器生成并运行Web窗体 将要运行的Web窗体设置为起始页,在代码设置断点,然后按F5运行,按F11单击执行第1章目录第2章VisualBasic.NET语言与面向对象编程2.1根本语言元素2.2条件语句2.3循环语句2.4数组2.5过程2.6面向对象编程2.1根本语言元素2.1.1数据类型第2章目录2.1根本语言元素2.1.2常数和枚举1.常数 在代码中可以使用两类常数,一类是是所用的控件或组件的对象模型的内部常数,另一类是用户定义的常数。使用Const语句声明常数并设置它的值: [Public|Private]Constname[Astype]=initexpr2.枚举 枚举〔enum〕是值类型的一种特殊形式,它为根底类型的值提供替代名称。通过枚举可以方便地使用成组的相关常数并将常数值与名称关联起来。在类或模块的声明局部中用Enum语句创立枚举,语法格式如下:[Public|Private]Enumname[AsType]membname1[=initexpr1]membname2[=initexpr2]……membnamen[=initexprn]EndEnum第2章目录2.1根本语言元素2.1.3变量1.变量命名规那么变量命名必须符合以下标识符命名规那么。必须以字母开头,后跟字母、数字或下划线。长度不得超过255个字符。不能包含嵌入的空格、句号〔.〕和类型声明字符〔%、&、!、#、@及$〕。在同一个范围内必须是惟一的。不得与VisualBasic.NET的关键字相同。在VisualBasic.NET中,不区分标识符中的大小写字母。通常在命名时使用一个或多个具有某种意义的英文单词组成标识符,并且各个单词的首字母均以大写形式表示。2.声明变量使用Dim语句声明和分配变量的存储空间,语法格式如下: Dimname[As[New]type][=initexpr]第2章目录2.1根本语言元素2.1.4运算符1.算术运算符 算术运算符用于执行各种数学运算。算术运算符包括:^〔幂运算符〕、*〔乘法运算符〕、/〔除法运算符〕、\〔整除运算符〕、Mod〔求余运算符〕、+〔加法运算符〕以及-〔减法运算符〕。2.赋值运算符第2章目录2.1根本语言元素2.1.4运算符3.比较运算符 比较运算符用于比较两个表达式并返回表示比较结果的Boolean值,该值为True或False。比较运算符可以分为三种类型。〔1〕比较数值。使用六种数值比较运算符比较数值,这些运算符包括=〔相等〕、<>〔不等于〕、<〔小于〕、<=〔小于或等于〕、>〔大于〕、>=〔大于或等于〕。〔2〕比较字符串。使用Like运算符比较两个字符串,语法如下: result=stringLikepattern其中result为Boolean变量,其值表示string是否匹配pattern;string为String表达式;pattern是一个特殊的String表达式,它符合表2.4中描述的模式匹配约定。第2章目录2.1根本语言元素2.1.4运算符3.比较运算符〔3〕比较对象。使用Is运算符可以确定两个对象变量是否引用某对象的同一实例,语法格式如下: result=object1Isobject2其中result为Boolean值,object1和object2都是Object类型变量。Is运算符确定两个对象引用是否引用同一个对象。如果object1和object2都引用同一个对象,那么result为True,否那么result为False。4.串联运算符在VisualBasic.NET中,有两个串联运算符:&和+。第2章目录2.1根本语言元素2.1.4运算符5.逻辑运算符第2章目录2.1根本语言元素2.1.4运算符6.运算符优先级 当表达式包含不止一种运算符时,按照以下规那么进行计算:算术运算符和串联运算符的优先级均高于比较运算符、逻辑运算符和位运算符;所有比较运算符都具有相同的优先顺序,它们的优先级均高于逻辑运算符和位运算符,但低于算术运算符和串联运算符。逻辑运算符的优先级均低于算术运算符、串联运算符和比较运算符。具有相同优先顺序的运算符将按照它们在表达式中出现的顺序从左至右进行计算。第2章目录2.1根本语言元素2.1.5根本语句1.注释语句语法REM注释文本或者'注释文本在REM关键字与注释文本之间要求有空格。编译期间总是忽略注释,对注释文本不进行任何处理。2.赋值语句语法 variable=value使用复合赋值运算符的赋值语句: x+=y3.多重语句举例:t=x:x=y:y=t4.跨行语句举例DimmyVarAsStringmyVar="白日依山尽,黄河入海流。"&vbCrLf&_"欲穷千里目,更上一层楼。"第2章目录2.2条件语句2.2.1If…Then…Else语句单行If语句IfconditionThenstatements[Elseelsestatements]多行If语句Ifcondition_1Thenstatements[ElseIfcondition_2Then][elseifstatements]]……[ElseIfcondition_nThen][elseifstatements]][Else[elsestatements]]EndIf第2章目录2.2条件语句2.2.2SelectCase语句 SelectCase语句根据表达式的值,执行假设干组语句中的某一组。语法格式如下:SelectCasetestexpressionCaseexpressionlist[statements]]……[CaseElse[elsestatements]]EndSelect第2章目录2.3循环语句2.3.1While…EndWhile语句 While...EndWhile语句当要给定条件为True时执行一系列语句。语法格式如下:Whilecondition[statements]EndWhile其中表达式condition的取值为True或False。假设condition为Nothing,那么将condition作为False处理。statements是一条或多条语句,当condition为True时将执行这些语句。执行While...EndWhile语句时,假设condition为True,那么执行所有的statements直到遇到EndWhile语句;随后控制返回到While语句并再次检查condition,假设condition仍为True,那么重复上面的过程。假设为False,那么从EndWhile语句后面的语句开始恢复执行。第2章目录2.3循环语句2.3.2Do…Loop语句将循环条件放在语句首部时,Do…Loop语句的语法格式为:Do{While|Until}condition[statements][ExitDo][statements]Loop将循环条件在语句末尾时,Do…Loop语句的语法格式为:Do[statements][ExitDo][statements]Loop{While|Until}condition第2章目录2.3循环语句2.3.3For…Next语句For…Next语句将一组语句重复执行指定的次数,语法格式如下:Forcounter[Asdatatype]=startToend[Stepstep][statements][ExitFor][statements]Next[counter]2.3.4ForEach…Next语句ForEach…Next语句对于集合中的每个元素重复一组语句,语法格式如下:ForEachelement[Asdatatype]Ingroup[statements][ExitFor][statements]Next[element]第2章目录2.4数组2.4.1声明数组 数组变量的声明与其他变量的声明一样,也是使用Dim语句。在变量名后加上一对圆括号,即可表示它是数组而不是标量。使用Dim语句声明数组的语法格式如下:
Dimname([boundlist])Astype其中name给出数组的名称;boundlist是一个非负整数的列表,表示数组变量维度的上限,以逗号分隔多个上限,数组可以具有最多60维;type指定数组元素的数据类型,可以是Boolean、Byte、Char、Date、Decimal、Double、Integer、Long、Object、Short、Single或String。第2章目录2.4数组2.4.2调整数组大小 对于已经声明的数组,可以使用ReDim语句重新分配该数组的存储空间,语法格式如下: ReDim[Preserve]name(boundlist)其中Preserve关键字是可选项,当仅更改最后一个维度的大小时,用来保存现有数组中的数据;name指定数组的名称。boundlist是一个非负整数列表,表示重定义数组维度的上限。以逗号分隔多个上限,boundlist中的维数必须与数组的原始维数匹配。第2章目录2.5过程2.5.1Sub过程 Sub过程是包含在Sub语句和EndSub语句之间的一系列语句,每次调用过程时都执行过程中的语句,从Sub语句后的第一个可执行语句开始,到遇到的第一个EndSub、ExitSub或Return语句结束。Sub过程执行操作但并不返回值,它能够带参数,如传递给它的常数、变量或表达式。使用Sub语句声明Sub过程的名称、参数和代码,语法格式如下:[Private|Public]Subsubname[(arglist)][statements][ExitSub|Return][statements]EndSub第2章目录2.5过程2.5.2Function过程使用Function语句定义Function过程的名称、参数和代码[Private|Public]Subfuntionname[(arglist)][Astype][statements][ExitFunction|Return][statements]EndFunction设置函数的返回值在过程的一个或多个语句中给函数名赋值:Functionfunctionname[(arglist)]Asdatatype……functionname=expression……EndFunction使用Return语句指定返回值:Functionfunctionname[(arglist)]Asdatatype……Returnexpression……EndFunction第2章目录2.6面向对象编程2.6.1类与对象类和对象是面向对象编程中的根本概念。类是一些内容的抽象表示形式,在类中封装了对象包含的信息〔即属性〕和对象可以执行的操作〔即方法〕,而对象是类所表示的内容的可用实例。类的声明PublicClassname[Inheritsclassname][statements]EndClass向类添加字段和属性向类添加方法为类创立构造函数创立类的实例引用对象的属性和方法第2章目录2.6面向对象编程2.6.2事件与事件处理程序在VisualBasic.NET中,多数程序都是事件驱动的,即执行流程是由外界发生的事件所确定的。事件是一个信号,它告知应用程序有特定情况发生。例如,当单击Web窗体页上的某个按钮时,会引发一个Click事件并调用一个过程来处理该事件。向类添加事件的步骤。使用Events语句声明事件。在定义类所用类模块的声明局部,通过Events语句对事件的名称及其参数进行声明。事件不能具有返回值、可选参数或ParamArray参数。例如: PublicEventAnEvent(ByValEventNumberAsInteger)使用RaiseEvent语句触发事件。使用RaiseEvent语句可以通知事件处理程序发生了特定的事件,该语句的参数必须是类型的成员事件。如果该事件带参数,那么必须指定参数。如果没有参数,那么可以省略括号。例如: RaiseEventAnEvent(EventNumber)使用Sub语句定义事件过程。该过程的参数必须与事件的参数保持一致。使用AddHandler语句或Handles关键字将事件与事件处理程序相关联。第2章目录2.6面向对象编程2.6.3命名空间1.声明命名空间Namespace{name|}[componenttypes]EndNamespace其中name为必选项,用于标识命名空间的惟一名称。componenttypes为可选项,给出组成命名空间的元素,这些元素包括枚举、结构、接口、类、模块、委托和其他命名空间。2.导入命名空间 使用Imports语句从引用的工程和程序集导入命名空间名称,也导入在包含该语句的文件所在的同一工程中所定义的命名空间名称。语法如下:Imports[aliasname=]namespace或Imports[aliasname=]namespace.element第2章目录2.6面向对象编程2.6.4访问控制Public:用Public修饰符声明的实体具有公共访问权限,对公共实体的使用没有限制。仅可以在模块、命名空间、类或文件级使用Public声明公共变量。Private:用Private修饰符声明的实体具有私有访问权限,私有实体只在其声明上下文中是可访问的,包括任何嵌套实体。Protected:用Protected关键字声明的实体具有受保护的访问权限,仅可以从其自己的类或派生类中访问它们。只能对类成员指定受保护的访问。仅可以在类级使用Protected声明受保护的变量,而不能在过程内部以及模块、命名空间或文件级进行声明。Friend:用Friend关键字声明的实体具有友元访问权限,可以从它们的声明上下文内和同一程序中的任何位置访问它们。ProtectedFriend:用ProtectedFriend关键字声明的实体同时具有受保护访问权限和友元访问权限。在同一程序集中任何位置的代码、变量自身类中的代码和任何派生类中的代码都可以使用这些变量。第2章目录2.6面向对象编程2.6.5重载方法 重载是指使用相同的名称但不同的参数列表,通过多个版本在类中定义过程或构造函数。重载的目的是定义过程的假设干个密切相关的版本,而不需要通过名称来区分它们,而是使用不同的参数列表。过程重载的要求是各个重载版本必须具有互不相同的方式,包括参数的数量、顺序或数据类型。2.6.6继承与重写 在VisualBasic.NET中,可以基于现有类来声明新类,现有类称为基类,新类称为派生类。在默认情况下,所有类都是可继承的。派生类继承并且可以扩展基类的属性、方法和事件。派生类还可以用新的实现重写继承的方法。 使用Inherits语句可以使当前类继承其他类的字段、属性、方法和事件,语法格式如下: Inheritstypename第2章目录第3章Web窗体与效劳器控件3.1Web窗体3.2ASP.NET效劳器控件3.3常用HTML效劳器控件3.4常用Web效劳器控件3.1Web窗体3.1.1Web窗体的组成和特点1.Web窗体的组件 Web窗体分为可视组件和编程逻辑两个局部。Web窗体页由一个包含静态HTML和ASP.NET效劳器控件的文件组成,文件扩展名为.aspx。编程逻辑位于与用户界面文件不同的文件中,该文件称作“代码隐藏〞文件。如果在代码隐藏文件中使用VisualBasic.NET语言来编写逻辑,那么该文件的扩展名为.aspx.vb;如果在代码隐藏文件中使用的编程语言是VisualC#,那么该文件的扩展名为.aspx.cs。2.Web窗体的特点基于MicrosoftASP.NET技术。兼容所有浏览器或移动设备。兼容.NET公共语言运行库所支持的任何语言。基于Microsoft.NETFramework生成。在VisualStudio中通过强大的快速应用程序开发〔RAD〕工具受到支持。具有灵活性,因为可以向Web窗体上添加用户创立的控件和第三方控件。直观、一致的对象模型。事件驱动的编程模型。直观的状态管理独立于浏览器的应用程序。第3章目录3.1Web窗体3.1.2Web窗体的代码模型1.代码隐藏模型 Web窗体的可视元素和编辑逻辑分别存储在两个文件中,这两个文件在应用程序运行时形成了一个整体。一个工程中的所有Web窗体的代码隐藏类文件都被编译成由工程生成的动态链接库〔.dll〕文件,此文件也称为工程程序集。Web窗体的.aspx页文件也会被编译,但编译的方式稍有不同。当用户第一次浏览到.aspx页时,ASP.NET自动生成表示该页的.NET类文件,并将其编译成另一个动态链接库文件。为.aspx页生成的类从工程程序集的代码隐藏类继承。2.代码内联模型 在同一文件中创立视觉元素和代码,它在功能上与由两个文件组成的页非常类似。.aspx文件将直接从Page类派生,具有易于部署的优点。3.Web窗体中的类继承关系 当在VisualStudio中为Web窗体页创立页和类文件时,它将生成从Page基类继承的代码。第3章目录3.1Web窗体3.1.3Web窗体的处理过程往返过程。当用户请求Web窗体时,浏览器向用户展示一个窗体,用户与该窗体进行交互,这导致该窗体回发〔postback〕到效劳器。但是,因为与效劳器组件进行交互的所有处理必须在效劳器上发生,这意味着对于要求处理的每一操作而言,必须将该窗体发送到效劳器并进行处理,然后返回到浏览器。这一事件序列称作往返过程。Page类的常用属性和事件IsPostBack属性 Init事件Load事件 PreRender事件Unload事件 Web窗体处理过程中的事件发生顺序 Page.Init→Page.Load→效劳器控件事件→Page.PreRender→Page.UnLoad。第3章目录3.2ASP.NET效劳器控件3.2.1ASP.NET效劳器控件的类型1.HTML效劳器控件 HTML效劳器控件就是对效劳器公开的HTML元素,可以对其进行编程。HTML效劳器控件公开一个对象模型,该模型十分紧密地映射到相应控件所呈现的HTML元素。例如,HTML标记的属性在HTML效劳器控件中可以作为属性公开。2.Web效劳器控件 Web效劳器控件比HTML效劳器控件具有更多内置功能,这类控件不只包括窗体类型的控件,例如按钮和文本框,而且还包括特殊用途的控件,例如日历、数据网格。与HTML效劳器控件相比,Web效劳器控件更为抽象,因为其对象模型不一定反映HTML语法。3.验证控件 验证控件包含逻辑以允许测试用户输入的控件。将一个验证控件附加到输入控件,测试用户对该输入控件输入的内容。验证控件可以用于检查必填字段,对照字符的特定值或模式进行测试,验证某个值是否在限定范围之内以及其他目的。4.用户控件 用户控件是作为Web窗体页创立的控件,这类控件可以嵌入到其他Web窗体页中,这是创立菜单、工具栏和其他可重用元素的捷径。第3章目录3.2ASP.NET效劳器控件3.2.2ASP.NET效劳器控件的事件模型 与传统的客户端窗体中的事件或基于客户端的Web应用程序中的事件相比,由ASP.NET效劳器控件引发的事件的工作方式稍有不同。导致差异的主要原因在于事件本身与处理该事件的位置的别离。 在基于客户端的应用程序中,在客户端引发和处理事件。在Web窗体页中,与效劳器控件关联的事件在客户端引发,但由ASP.NET页框架在Web效劳器上进行处理。本卷须知内部事件集事件参数Web效劳器控件中的回发和非回发事件冒泡事件响应ASP.NET效劳器控件中的客户端和效劳器事件应用程序和会话事件第3章目录3.2ASP.NET效劳器控件3.2.3添加ASP.NET效劳器控件1.添加HTML效劳器控件〔1〕从工具箱的HTML选项卡将HTML元素拖到页中。〔2〕右击该元素并选择“作为效劳器控件运行〞,将元素转换为控件。2.添加Web效劳器控件 向Web窗体页添加Web效劳器控件时,既可以使用VisualStudioWeb窗体设计器从工具箱添加控件,也可以将表示控件的元素添加到HTML中。3.使用编程方式动态添加控件 除了使用Web窗体设计器和ASP.NET语法添加控件之外,也可以通过编程方式在运行时动态添加控件。第3章目录3.2ASP.NET效劳器控件3.2.4设置ASP.NET效劳器控件的属性 将控件添加到Web窗体上以后,还必须根据需要对其属性进行设置。在设计模式下,既可以在属性窗口中直接设置控件的属性,也可以在HTML视图中直接修改控件的属性,还可以通过编写代码在程序运行期间动态更改控件的属性。1.设计时设置ASP.NET控件的属性2.通过编程设置HTML效劳器控件的属性3.通过编程设置Web效劳器控件的属性〔1〕设置基于单值或枚举的属性。〔2〕设置基于单位的属性。〔3〕设置颜色属性。〔4〕在集合中设置控件属性。第3章目录3.3常用HTML效劳器控件3.3.1HTML效劳器控件的功能〔1〕可以在效劳器上使用面向对象技术对其进行编程的对象模型。〔2〕提供一组事件,可以为其编写事件处理程序,方法与在基于客户端 的窗体中大致相同,所不同的是事件处理是在效劳器代码中完成的。〔3〕在客户端脚本中处理事件的能力。〔4〕自动维护控件状态。〔5〕与验证控件进行交互,以便验证用户是否在控件输入了适当的信息。〔6〕数据绑定到一个或多个控件属性。〔7〕如果Web窗体页显示在支持层叠样式表的浏览器中,那么支持HTML4.0样式。〔8〕直接可用的自定义属性。第3章目录3.3常用HTML效劳器控件HtmlInputButton控件 HtmlInputButton控件映射到<inputtype="button">、<inputtype=“submit〞>和<inputtype=“reset〞>HTML元素,用于创立命令按钮、提交按钮或重置按钮。单击HtmlInputButton控件时,来自嵌有该控件的窗体的输入被发送到效劳器并得到处理,然后将响应发送回请求浏览器。HtmlInputButton控件有以下主要属性和事件。Type属性 Value属性 ServerClick事件HtmlGenericControl控件的主要属性。InnerHtml InnerText第3章目录3.3常用HTML效劳器控件HtmlInputText控件 HtmlInputText控件映射到<inputtype="text">和<inputtype="password">HTML元素,可以用于创立单行文本框以接收用户输入。HtmlInputText控件的主要属性Type属性 MaxLength属性Size属性 Value属性ServerChange事件使用Response对象的Redirect方法将客户端重定向到另一个Web窗体: Response.Redirect(url)使用Session对象保存数据: Session("变量名")=变量值第3章目录3.3常用HTML效劳器控件HtmlInputRadioButton与HtmlInputCheckBox控件HtmlInputRadioButton控件映射到<inputtype=radio>HTML元素,可以用于创立单项选择按钮,以实现对<inputtype=“radio〞>HTML元素进行编程。该控件的主要属性和事件如下:Name属性 Value属性Checked属性 ServerChange事件HtmlInputCheckBox控件映射到<inputtype=“checkbox〞>HTML元素,可以用于创立复选框,使用户可以选择True或False状态。该控件的主要属性和事件如下:Checked属性 Value属性ServerChange事件第3章目录3.3常用HTML效劳器控件HtmlSelect控件HtmlSelect控件映射到HTML<select>元素,使用该控件可以在Web窗体上创立下拉式列表框或标准列表框,允许用户从中进行单项或多项选择。HtmlSelect控件的主要属性、方法和事件DataSource属性 DataTextField属性DataValueField属性 Multiple属性Items属性 SelectedIndex属性Size属性 Value属性DataBind方法 ServerChange事件Items集合的主要属性和方法Count属性 Add方法Clear方法 Remove方法ListItem对象的主要属性Selected Text Value第3章目录3.3常用HTML效劳器控件HtmlImage控件HtmlImage控件映射到<img>HTML元素,用于在Web窗体上显示图像。使用HtmlImage控件对<img>HTML元素进行编程,可以通过使用该控件的属性来动态地设置和检索图像的来源、宽度、高度、替换文本和对齐方式等。HtmlImage控件的主要属性AlignAltBorderHeight和WidthSrc第3章目录3.3常用HTML效劳器控件HtmlAnchor控件HtmlAncho的使用方法用于导航:使用HRef属性定义要链接到的Web页的位置。回发事件:使用ServerClick事件以编程方式处理用户在链接上的单击。HtmlAnchor控件的主要属性和事件。HRef属性 Name属性Title属性 Target属性ServerClick事件第3章目录3.3常用HTML效劳器控件HtmlInputFile控件使用HtmlInputFile控件对HTML<inputtype="file">元素进行编程。使用该控件可以方便地设计Web窗体,该窗体允许用户将二进制文件或文本文件从浏览器上载到在Web效劳器上指定的目录中。所有HTML3.2和更高版本的Web浏览器都允许进行文件上载。HtmlInputFile控件的常用属性和方法Accept属性 MaxLength属性Size属性 PostedFile方法HttpPostedFile对象的主要属性和方法ContentLength属性 ContentType属性FileName属性 SaveAs(filename)方法第3章目录3.3常用HTML效劳器控件HtmlTable、HtmlTableRow和HtmlTableCell控件HtmlTable控件由一个表格的Rows集合中存储的行〔用HtmlTableRow对象表示〕组成,而每行均由存储在行的Cells集合中的单元格〔用HtmlTableCell对象表示〕组成。HtmlTable控件映射到HTML<table>元素,用于在Web窗体上创立表格。使用该控件可以对HTML<table>元素进行编程。HtmlTable控件的主要属性Align BgColorBorder BorderColorCellPadding CellSpacingHeight RowsWidthHtmlTableRow控件映射到HTML<tr>元素并允许创立和操作表中的行,使用该控件的Cells属性可获取HtmlTableCell对象的集合。第3章目录3.4常用Web效劳器控件3.4.1Web效劳器控件的功能 除了不能一对一映射到HTML元素外,Web效劳器控件具有HTML服务器控件的所有功能,它们还提供了以下功能。功能丰富的对象模型,该模型具有类型平安编程功能。自动浏览器检测。控件可以检测浏览器的功能,并为根本型和丰富型〔HTML4.0〕浏览器创立适当的输出。对于某些控件〔例如DataList等〕,可以使用模板来自定义控件的外观。对于某些控件,可以指定控件的事件是立即发送到效劳器,还是先缓存然后在提交窗体时引发。可以将事件从嵌套控件〔例如表中的按钮〕传递到容器控件。第3章目录3.4常用Web效劳器控件3.4.2Button按钮Button控件用于在Web窗体页上创立普通按钮,既可以创立提交按钮,也可以创立命令按钮。Button控件的常用属性和事件AccessKey属性 Enabled属性Text属性 ToolTip属性CausesValidation属性 CommandName属性 CommandArgument属性 Click事件Command事件使用LinkButton控件可以在Web窗体页上创立超级链接样式的按钮。通过设置Text属性指定显示在LinkButton控件上的文本标题,通过设置ToolTip属性指定当鼠标指针悬停在LinkButton控件上时显示的文本。单击LinkButton控件时,将同时引发Click和Command事件。LinkButton控件的外观与HyperLink控件相同,也呈现为超级链接,但其功能与Button控件相同。如果希望单击控件时链接到另一个Web页,那么可以考虑使用HyperLink控件创立真正的超级链接。使用ImageButton控件可以在Web窗体页上显示响应鼠标单击的图像。通过设置ImageUrl属性指定在控件中显示的图像。单击ImageButton控件时,将同时引发Click和Command事件。使用Click事件处理程序,可以通过编程方式确定图像被单击的位置的坐标,并根据坐标值编写响应代码。使用Command事件处理程序可以使ImageButton控件的行为类似于命令按钮。第3章目录3.4常用Web效劳器控件3.4.3Label和TextBox控件LabelWeb效劳器控件提供了一种以编程方式设置Web窗体页中文本的方法。通常当希望在运行时更改页面中的文本〔如响应按钮单击〕时使用Label控件。通过Text属性获取或设置Label控件的文本内容。TextBoxWeb效劳器控件是使用户可以输入文本的输入控件。在默认情况下,该控件的TextMode属性设置为SingleLine,将显示一个单行文本框。然而,通过将TextMode属性值分别改为MultiLine或Password,TextBox控件也可以显示多行文本框或显示屏蔽用户输入的文本框。使用Text属性,可以指定或确定TextBox控件中显示的文本。TextBox控件的主要属性和事件AutoPostBack属性 Text属性TextMode属性 Enabled属性Columns属性 Rows属性MaxLength属性 ReadOnly属性Height属性 Width属性Wrap属性 DataBind方法TextChanged事件第3章目录3.4常用Web效劳器控件RadioButton和RadioButtonList控件使用RadioButton效劳器控件可以在Web窗体上创立一个单项选择按钮。RadioButton控件的常用属性和事件AutoPostBack属性 Checked属性Enabled属性 GroupName属性Text属性 TextAlign属性DataBind方法 CheckedChanged事件使用RadioButtonList控件可以在Web窗体上创立一组单项选择按钮,这些按钮可以通过数据绑定动态生成。RadioButtonList控件的常用属性、方法和事件AutoPostBack属性 DataSource属性DataTextField属性 DataValueField属性Enabled属性 Items属性RepeatColumns属性 RepeatDirection属性RepeatLayout属性 SelectedIndex属性SelectedItem属性 SelectedValue属性DataBind方法 SelectedIndexChanged事件第3章目录3.4常用Web效劳器控件CheckBox和CheckBoxList控件使用CheckBox控件可以在Web窗体上创立一个复选框控件,它允许用户在True或False状态之间切换。CheckBox控件的常用属性和事件AutoPostBack属性 Checked属性Enabled属性 Text属性TextAlign属性 CheckedChanged事件使用CheckBoxList控件提供可以通过数据绑定动态生成的多项选择复选框组,该控件包含一个Items集合,集合中的成员与列表中的各项相对应。CheckBoxList控件的常用属性、方法和事件AutoPostBack属性 DataSource属性DataTextField属性 DataValueField属性Enabled属性 Items属性RepeatColumns属性 RepeatDirection属性RepeatLayout属性 SelectedIndex属性SelectedItem属性 SelectedValue属性TextAlign属性 DataBind方法SelectedIndexChanged事件 第3章目录3.4常用Web效劳器控件DropDownList和ListBox控件使用DropDownList控件可以创立一个选择下拉列表控件,允许用户从中选择一项。DropDownList控件的常用属性、方法和事件AutoPostBack属性 DataSource属性DataMember属性 DataTextField属性DataValueField属性 Enabled属性Items属性 SelectedIndex属性SelectedItem属性 SelectedValue属性DataBind方法 SelectedIndexChanged事件ListBox控件允许用户从预定义列表中选择一项或多项,它与DropDownList控件的不同之处在于,它可以一次显示多项,而且允许用户选择多项。ListBox控件的常用属性、方法和事件AutoPostBack属性 DataSource属性DataTextField属性 DataValueField属性Enabled属性 Items属性Rows属性 SelectedIndex属性SelectedItem属性 SelectedValue属性SelectionMode属性 Width属性DataBind方法 SelectedIndexChanged事件第3章目录3.4常用Web效劳器控件3.4.7Image控件使用Image控件可以在Web窗体上显示图像。通过设置ImageUrl属性来指定所显示图像的路径。如果图像不可用,可以通过设置AlternateText属性来指定为取代图像而显示的文本。通过设置ImageAlign属性可以指定图像相对于Web页上其他元素的对齐方式,通过设置Height属性可以指定图像的高度。Image控件的常用属性ImageUrl AlternateTextImageAlign HeightWidth第3章目录3.4常用Web效劳器控件HyperLink控件使用HyperLink控件创立到其他Web页的链接。HyperLink控件通常显示为Text属性指定的文本,它也可以显示为ImageUrl属性指定的图像。如果同时设置了Text和ImageUrl属性,那么ImageUrl属性优先。如果图像不可用,那么显示Text属性中的文本。在支持工具提示功能的浏览器中,Text属性也变成工具提示。HyperLink控件的常用属性NavigateUrlTextImageUrlTarget第3章目录3.4常用Web效劳器控件3.4.9Calendar控件 使用Calendar控件可以在Web窗体上显示一个月历,并允许用户选择日期和移动到下一个月或上一个月。Calendar控件必须放在Form或Panel控件内,或控件的模板内。在添加Calendar控件之后,它一次显示一月的日期。另外,它还显示该月之前的一周和之后的一周。因此,一次总共显示六周。Calendar控件的主要属性和事件在表3.32中列出。第3章目录第4章验证控件与用户控件4.1验证控件
4.2用户控件4.1验证控件4.1.1验证控件概述 在设计Web窗体时,验证控件可以与HTML效劳器控件和Web效劳器控件一起使用。通过使用验证控件,可以向Web窗体添加输入验证功能。通过向Web窗体添加验证控件,可以启用对用户输入的验证。有各种类型的验证控件,如范围检查或模式匹配验证控件。每个验证控件都引用页面上的某个输入控件〔效劳器控件〕。在处理用户输入〔例如提交窗体〕时,ASP.NET页框架将用户输入传递到一个或多个适当的验证控件。验证控件将测试用户输入并设置表示输入是否通过测试的属性。在调用所有验证控件之后,页上将设置一个属性,如果任何一个控件显示验证检查失败,那么整个页的属性都将设置为无效。 验证发生的时间是:已对页进行了初始化〔即处理了视图状态和回发数据〕,但尚未调用“更改〞或“单击〞事件处理程序。也可以在此之前〔例如在页加载期间〕调用控件的Validate方法来执行验证过程。 一般来说,每个验证控件只执行一个测试。但常常需要检查多个条件。例如,可能需要设定某个字段是必选字段和该字段限制为只接受特定范围内的日期这两个条件。对于Web窗体上的一个输入字段,可以附加多个验证控件。此时,控件执行的测试将使用逻辑AND解析。用户输入的数据必须通过所有测试才能视为有效。第4章目录4.1验证控件4.1.2RequiredFieldValidator控件使用RequiredFieldValidator控件可以计算输入控件的值以确保用户输入值。该控件通常放在要验证的输入控件旁边,可以使该输入控件成为必选字段。当执行验证时,如果输入控件包含的值仍然保持初始值而未更改,那么该输入控件验证失败。这会防止用户使关联的输入控件保持不变。RequiredFieldValidator控件的属性。ControlToValidate DisplayText InitialValue在默认情况下,验证控件的初始值〔InitialValue属性〕为空字符串〔""〕,这指示必须在输入控件中输入值才能通过验证。应当在执行验证之前移除输入值前后的多余空格,以防止在输入控件中输入的空格通过验证。在某些情况下,可能希望初始值不是空字符串。当输入控件具有默认值而且希望用户选择其他值时,这将非常有用。第4章目录4.1验证控件4.1.3CompareValidator控件使用CompareValidator控件可以将用户输入到一个输入控件〔如TextBox控件〕中的值与输入到另一个输入控件中的值进行比较,或者将该值与某个常数值进行比较,还可以使用该控件来检查输入到输入控件中的值是否可以转换为Type属性所指定的数据类型。CompareValidator控件的常用属性ControlToCompare ControlToValidateOperator TypeValueToCompare 将CompareValidator控件的Operator属性设置为DataTypeCheck运算符时,将指定输入到所验证的输入控件的值与Type属性指定的数据类型之间的数据类型进行比较,如果无法将该值转换为指定的数据类型,那么验证失败。使用这个运算符时,将忽略ControlToCompare和ValueToCompare属性。使用CompareValidator控件,既可以将输入控件的值与另一个输入控件的值进行比较,也可以将输入控件的值与某个常数值进行比较。但不要同时设置ControlToCompare属性和ValueToCompare属性。如果同时设置了这两个属性,那么ControlToCompare属性优先。第4章目录4.1验证控件4.1.4RangeValidator控件使用RangeValidator控件可以检查用户的输入是否在指定的上限与下限之间,可以检查数字对、字母对和日期对限定的范围。边界用常数表示。RangeValidator控件的常用属性ControlToValidate MaximumValueMinimumValue Type使用RangeValidator控件时,如果要验证的输入控件为空,那么会通过验证。为了防止出现这种情况,可以使用RequiredFieldValidator控件使该输入控件成为强制字段。此外,如果MaximumValue或MinimumValue属性指定的值无法转换为Type指定的类型,那么RangeValidator控件将引发异常。第4章目录4.1验证控件4.1.5RegularExpressionValidator控件使用RegularExpressionValidator控件可以检查输入控件的值是否匹配正那么表达式定义的模式,通过这类验证可以检查可预知的字符序列,例如身份证号码、电子邮件地址、Internet网址、号码和邮政编码中的字符序列。RegularExpressionValidator控件的主要属性ControlToValidate DisplayErrorMessage,Text ValidationExpression第4章目录4.1验证控件4.1.6CustomValidator控件使用CustomValidator控件可以为输入控件提供自定义的验证函数。CustomValidator控件是不同于它所验证的输入控件的另一个控件,通过它可以控制显示验证消息的位置。CustomValidator控件的常用属性和事件ControlToValidate属性 ClientValidationFunction属性Display属性 EnableClientScript属性ErrorMessage,Text属性 IsValid属性ServerValidate事件假设使用VBScript脚本语言,那么客户端验证函数采用以下形式: SubValidationFunctionName(source,arguments)假设使用JavaScript语言,那么客户端验证函数采用以下形式: FunctionValidationFunctionName(source,arguments)第4章目录4.1验证控件4.1.7ValidationSummary控件使用ValidationSummary控件可以在一个位置总结来自Web页上所有验证程序的错误信息。根据DisplayMode属性的设置,可以以列表、工程符号列表或单个段落的形式显示摘要。通过分别设置ShowSummary和ShowMessageBox属性,可以在Web页上和消息框中显示摘要。ValidationSummary控件的常用属性DisplayMode EnableClientScriptHeaderText ShowMessageBoxShowSummary ValidationSummary控件通常与其他验证控件一起使用,可以将分别设置各个验证控件的ErrorMessage属性,并将它们的Display属性设置为None,而通过ValidationSummary控件来收集所有验证错误,并在网页区域中或以对话框形式显示错误信息。ValidationSummary控件中显示的错误信息,是由每个验证控件的ErrorMessage属性指定的。第4章目录4.2用户控件4.2.1创立和应用用户控件一个Web用户控件与一个完整的Web窗体相似,它们都包含一个用户界面页和一个代码隐藏文件。在用户控件上可以使用与标准Web窗体上相同的HTML元素和效劳器控件。用户界面页与.aspx页有以下两个区别:文件扩展名必须为.ascx;在用户控件文件中不包含<html>、<body>和<form>元素,这些元素应位于宿主页中。假设要将Web用户控件添加到Web窗体的“设计〞视图中,将该控件从解决方案资源管理器中拖出并将其放到希望它在页上出现的位置即可。Web窗体设计器会自动向Web窗体添加该控件的@Register指令和标记。第4章目录4.2用户控件4.2.2访问和设置用户控件的属性公开构成控件的属性。组成用户控件的控件称为“构成控件〞。这些控件通常被声明为私有的,因此开发人员不能访问它们。如果想要使将来的用户可以使用这些控件的属性,那么必须将它们公开给用户。通过创立用户控件中的属性并使用该属性的Get和Set访问器影响构成控件的私有属性的变化,就可以使构成控件的属性得以公开。假设要公开构成控件的属性,可以在用户控件的代码编辑器中创立一个公共属性,在此属性的Get局部编写用于检索想要公开的属性值的代码,在此属性的Set局部编写用于将此属性的值传递给构成控件的公开属性的代码。在本例中,使用这种方法公开了两个文本框的Text属性。自定义用户控件的属性。用户控件可以看成是一个包含有假设干个构成控件的大控件,因此它也应该拥有自己的属性。但是,在默认情况下,用户控件只有少数几个属性。为了对添加到Web窗体页上的用户控件进行控制,可以考虑为该控件添加一些自定义属性,并通过在用户控件中使用Public关键字声明全局变量来实现,这些全局变量便是用户控件的属性。第4章目录第5章ASP.NET状态管理5.1状态管理概述5.2基于客户端的状态管理5.3基于效劳器端的状态管理5.1状态管理概述5.1.1客户端状态管理选项第5章目录5.1状态管理概述5.1.2效劳器端状态管理选项第5章目录5.2基于客户端的状态管理5.2.1视图状态视图状态是Web窗体页中的储存库,当需要存储少量回发到Web窗体页自身的信息时,可以使用视图状态来保存值。Web窗体页提供ViewState属性作为内置结构,在对同一页的多个请求之间自动保存值。视图状态包含在页代码中作为隐藏域来进行维护。为了在HTTP请求之间维护效劳器控件的状态,必须启用该控件的视图状态,实现方法是:将该控件的EnableViewState属性设置为True;假设要禁用某控件的视图状态,应将其EnableViewState设置为False。将页回发到效劳器时,视图状态的内容将作为页回发信息的一局部发送。如果视图状态包含大量信息,那么会影响页的性能。在某些情况下,应当关闭视图状态,以提高应用程序的性能。使用页的ViewState属性可以来访问视图状态信息,该属性是一个包含密钥/值对的字典。假设要将数据保存到视图状态中,可在ViewState属性中创立并存储相应的项。假设要从视图状态中读取数据,可使用相应的项名称来获取它所持有的值,并将视图状态中的数据转换为所需的类型。第5章目录5.2基于客户端的状态管理5.2.2隐藏域使用隐藏域具有以下优点:不需要任何效劳器资源,可以在页上存储和读取隐藏域;隐藏域具有广泛的支持,几乎所有浏览器和客户端设备都支持具有隐藏域的窗体;隐藏域实现简单,隐藏域是标准的HTML控件,不需要复杂的编程逻辑。使用隐藏域具有以下缺点:如果查看源文件,可以直接看到隐藏域中的信息,这将导致潜在的平安性问题;隐藏域只提供一个字符串值域存放信息,不支持复杂数据类型。假设要存储多个值,必须实现分隔的字符串以及用来分析那些字符串的代码。第5章目录5.2基于客户端的状态管理5.2.3CookieCookie的工作原理。Cookie是一小段文本信息,随着用户请求和页面在Web效劳器与浏览器之间传递。如果在用户请求站点中的页面时应用程序发送给该用户的不仅仅是一个页面,还有一个包含日期和时间的Cookie,用户的浏览器在获得页面的同时还获得了该Cookie,并将它存储在用户硬盘上的某个文件夹中。如果该用户以后再次请求站点中的页面,当该用户输入URL时,浏览器便会在本地硬盘上查找与该URL关联的Cookie。如果该Cookie存在,浏览器便将该Cookie与页请求一起发送到站点。Cookie提供了一种在Web应用程序中存储用户特定信息的方法。当用户访问网站时,可以使用Cookie存储用户首选项或其他信息。当该用户再次访问网站时,应用程序便可以检索以前存储的信息。Cookie的主要属性Domain Expired ExpiresHasKeys Name Path Value Cookie使用要点。编写Cookie。设置Cookie的到期日期和时间。修改和删除Cookie。读取Cookie。第5章目录5.2基于客户端的状态管理5.2.4查询字符串查询字符串是在页URL的结尾附加的信息,以“变量名=值〞形式出现,URL与查询字符串之间以问号〔?〕分隔,多个变量之间以&符号分隔。使用查询字符串可以通过URL将数据提交回页自身或另一页上。当单击HyperLink控件或调用Response.Redirect方法时,假设在目标网址后面附有变量名-值对,那么这些变量值附作为查询字符串被发送到效劳器端。查询字符串变量集合的主要属性AllKeys,Keys Count Item读取查询字符串集合中变量username的值,可以使用下面的表达式:Request.Params.Item("username") Request.Params("username")第5章目录5.3基于效劳器端的状态管理5.3.1会话状态在ASP.NET中,可以使用会话状态保存每个活动Web应用程序会话的值。会话状态是HttpSessionState类的一个实例,可以通过Page对象的Session属性可以获取该实例。会话状态的范围限于当前的浏览器会话。如果不同的用户正在使用应用程序,每个用户都将有一个不同的会话状态。此会话由一个惟一会话标识符〔SessionID〕标识。只要一直使用相同的SessionID值来发送请求,会话就被视为活动的。如果特定会话的请求发送间隔超过指定的超时值〔以分钟为单位〕,那么该会话被视为已过期。使用过期的SessionID值来发送请求将导致启动一个新会话。Session对象的常用属性、方法和事件Contents属性 Count属性 IsCookieless属性IsNewSession属性 Item属性Keys属性 SessionID属性 StaticObjects属性Timeout属性 Abandon()方法 Clear()方法Remove()方法 RemoveAll()方法 RemoveAt(inde
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年短视频达人肖像合同协议
- 2025关于企业租赁车辆合同范本
- 2025年短视频创作者坑位收益合同协议
- 2025年工业管道保温施工行业发展趋势与节能潜力报告
- 2025年京津冀低空经济「交通圈」航空产业国际合作与交流报告
- 2025年共享办公保险保障范围深度评估报告
- 2025关于花卉的购销合同
- 2025年低空经济监管沙盒制度下无人机产业可持续发展报告
- 2025年少儿主持口才培训行业细分市场与教学质量评估路径报告
- 2025年无人机电力巡检与输电线路检测研究报告
- 2026届江苏省苏州常熟市九上物理期中综合测试试题含解析
- 2025年农林经济管理考研农业政策测试试卷(含答案)
- 采光顶钢结构施工步骤方案
- 法律基础常识试题及答案2025年
- 2025贵州毕节市中级人民法院招聘聘用制法官助理30人考试模拟试题及答案解析
- 电气维护试题及答案
- 2025年轨道交通设备维护可行性研究报告
- GB/T 46336.1-2025幸福河湖评价导则第1部分:流域面积3 000 km2以下(含)河流
- 2025四川南充市嘉陵城市发展集团有限公司招聘工作人员10人考试模拟试题及答案解析
- 苏德战争教学课件
- 高一数学教案必修第一册(2025-2026学年)
评论
0/150
提交评论