资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,SQL Server,数据库设计与系统开发教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ASP.NET 2.0,简明教程,第,1,章,ASP.NET 2.0,开发基础,1.1 ASP.NET,简介,.NET,是微软公司发布的新一代的系统、服务和编程平台,主要由,.NET Framework,和,Microsoft Visual Studio.NET,开发工具组成。,.NET Framework,是一种新的计算平台,它包含了操作系统上软件开发的所有层,简化了在高度分布式,Internet,环境中的应用程序开发。,.NET Framework,主要包括两个最基本的内核,即公共语言运行库,(Common Language Runtime,,简称,CLR),和,.NET Framework,基本类库,它们为,.NET,平台的实现提供了底层技术支持。公共语言运行库是,.NET Framework,的基础,是,.NET Framework,的运行时环境。,NET Framework,的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合。,1.1.1.NET,简介,1.1 ASP.NET,简介,ASP.NET,网页在任何浏览器或客户端设备中向用户提供信息,并使用服务器端代码来实现应用程序逻辑。使用,ASP.NET,网页可以为网站创建动态内容。通过使用静态,HTML,页(,.htm,或,.html,文件),服务器读取文件并将该文件按原样发送到浏览器,以此来满足,Web,请求。相比之下,当用户请求,ASP.NET,网页(,.aspx,文件)时,该页则作为程序在,Web,服务器上运行。该页运行时,可以执行网站要求的任何任务,包括计算值、读写数据库信息或者调用其他程序。该页动态地生成标记(,HTML,或另一种标记语言中的元素),并将该标记作为动态输出发送到浏览器。,ASP.NET,页面作为代码在服务器上运行。因此,要得到处理,页面必须在用户单击按钮(或者当用户选中复选框或与页面中的其他控件交互)时提交到服务器。每次页面都会提交回自身,以便它可以再次运行其服务器代码,然后向用户呈现其自身的新版本。,1.1.2 ASP.NET,页面与,Web,服务器的交互过程,1.2,建立,ASP.NET,程序的运行环境,在,Windows 2000,上安装的,IIS,的版本号是,5.0,,在,Windows xp,上安装的,IIS,的版本号是,5.1,,除此之外,这两种安装过程的区别不大。需要注意的是,不能在,Windows xp home,版安装,IIS,,因此不能在其上运行,ASP.NET,。,1.2.1,安装,IIS Web,服务器,1.2,建立,ASP.NET,程序的运行环境,虚拟目录相当于物理目录在,Web,服务器机器上的别名,它不仅使用户避免了冗长的,URL,,也是一种很好的安全措施,因为虚拟目录对所有浏览者隐藏了物理目录结构。,创建虚拟目录之后,还需要对虚拟目录赋予合适的权限,如果权限太小,则许多操作不能执行,网站的功能会受到限制。如果权限太大,则会带来安全风险。,1.2.2,管理,Web,服务器的目录,1.2,建立,ASP.NET,程序的运行环境,1 Visual Studio 2005,集成开发环境简介,Visual Studio 2005,开发环境中主要包括:文本编辑器、工具箱、菜单、工具条、解决方案管理器、资源管理器和属性窗体等。如下页图所示。,1.2.3,配置集成开发环境,图 集成开发环境,六、删除表中的记录,2,配置集成开发环境,每个程序员都有自己的风格,,Visual Studio 2005,给我们提供了个性化的集成开发环境,读者可以按照自己的习惯设置开发环境。为了在任何一台计算机上都使用符合自己习惯的集成开发环境,读者可以把自己设置的集成开发环境保存下来。,1.2,建立,ASP.NET,程序的运行环境,1.2.3,配置集成开发环境,第,2,章,C#2.0,程序设计基础,2.1,数据类型,数值类型主要包括整数、浮点数和小数,这些均属于简单类型。,布尔(,bool,)类型表示布尔逻辑量,对应于,.NET Framework,中定义的,System.Boolean,类。,用户自定义结构:简称为结构。结构类型通常是一组相关的信息组合成的单一实体。其中的每个信息称为它的一个成员。,枚举(,enum,)类型:由一组特定的常量构成一种数据结构,系统把相同类型、表达固定含义的一组数据作为一个集合放到一起形成新的数据类型,2.1.1,值类型,1.1 ASP.NET,简介,string,:字符串实际上是,Unicode,字符的连续集合,通常用于表示文本。,数组:包含若干个相同类型数据的集合,数组的数据类型可以是任何类型。数组可以是一维的,也可以是多维的。,2.1,数据类型,2.1.2,引用类型,2.1.2,引用类型,2.1.2,引用类型,装箱和取消装箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到,Object,引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。取消装箱将从对象中提取值类型,取消装箱又经常被称作,“,拆箱,”,。,为了保持类型安全,默认情况下,,C#,不支持指针运算。不过,通过使用,unsafe,关键字,可以定义可使用指针的不安全上下文。,2.2,变量和常量,所谓变量,就是在程序的运行过程中其值可以被改变的量,变量的类型可以是任何一种,C#,的数据类型。所有值类型的变量具有实际存在于内存中的值,也就是说当将一个值赋给变量是执行的是值拷贝操作。,2.2.1,变量,所谓常量,就是在程序的运行过程中其值不能被改变的量。常量的类型也可以是任何一种,C#,的数据类型。常量的定义格式为:,const,常量数据类型 常量名(标识符)常量值,;,其中,,const,关键字表示声明一个常量,,“,常量名,”,就是标识符,用于唯一的标识该常量。常量名要有代表意义,不能过于简练或者复杂。,2.2.2,常量,2.3,运算符,虚拟目录相当于物理目录在,Web,服务器机器上的别名,它不仅使用户避免了冗长的,URL,,也是一种很好的安全措施,因为虚拟目录对所有浏览者隐藏了物理目录结构。,创建虚拟目录之后,还需要对虚拟目录赋予合适的权限,如果权限太小,则许多操作不能执行,网站的功能会受到限制。如果权限太大,则会带来安全风险。,2.3.1,算术运算符,赋值运算符用于将一个数据赋予一个变量、属性或者引用,数据可以是常量,也可以是表达式。最常见的赋值运算符是等号,“,=,”,。除了等号运算符,还有一些其他的赋值运算符,这些赋值运算符都是在,“,=,”,之前加上其他运算符(例如,+,、,-,、,*,、,/,、,%,)。,2.3.2,赋值运算符,1.2,建立,ASP.NET,程序的运行环境,关系运算符表示了对操作数的比较运算,有关系运算符组成的表达式就是关系表达式。关系表达式的结果只可能有两种即,“,true,”,或,“,false,”,。常用的关系运算符有,6,种:,、,=,、,=,。,2.3,运算符,2.3.3,关系运算符,五、修改表中的记录,逻辑运算符主要用于逻辑判断,主要包括逻辑与,逻辑或和逻辑非。其中,逻辑与和逻辑或属于二元运算符,它要求运算符两边有两个操作数,这两个操作数的值必须为逻辑值。,“,逻辑非,”,运算符是一元运算符,它只要求有一个操作数,操作数的值也必须为逻辑值。,2.3,运算符,2.3.4,逻辑运算符,六、删除表中的记录,C#,中唯一的一个三元操作符就是条件运算符(,?:,),由条件运算符组成的表达式就是条件表达式,条件表达式的一般格式为:操作数,1?,操作数,2:,操作数,3,。,其中,,“,操作数,1,”,的值必须为逻辑值,否则将出现编译错误。进行条件运算时,首先判断问号前面的,“,操作数,1,”,的逻辑值是真还是假,如果逻辑值为真,则条件运算表达式的值等于,“,操作数,2,”,的执行结果值;如果为假,则条件运算表达式的值等于,“,操作数,3,”,的执行结果值。,2.3,运算符,2.3.5,条件运算符,七、删除表,位运算符用于对操作数进行的位操作,位运算符主要包括按位与,按位或,按位异或,按位取反,左移和右移操作。在这些运算符中,除按位取反运算符是一元运算符外,其他的都是二元运算符。,2.3,运算符,2.3.6,位运算符,八、视图的概念,在,C#,中为这些运算符定义了不同的优先级,相同优先级的运算符,除了赋值运算符按照从右至做的顺序执行之外,其余运算符按照从左至右的顺序执行。括号是优先级最高的,可以任意的改变符号的计算顺序。,2.3,运算符,2.3.7,运算符的优先级,九、创建视图,if,语句是最常用的分支语句,使用该语句可以有条件地执行其他语句。程序执行时首先检测,“,测试条件,”,的值,如果,“,测试条件,”,的值是,true,,就执行,if,语句中的代码,代码执行完毕后,将继续执行,if,语句下面的代码。如果,“,测试条件,”,的值是,false,,则直接跳转到,if,语句后面的代码执行。,switch,语句非常类似于,if,语句,它也是根据测试的值来有条件地执行代码,实际上,switch,语句完全可以使用,if,语句代替。一般情况下,如果只有简单的几个分支就需要使用,if,语句,否则建议使用,switch,语句,这样可以使代码的执行效率比较高。,条件运算符(,?:,):由条件运算符组成的表达式就是条件表达式,条件表达式的一般格式为:操作数,1?,操作数,2:,操作数,3,。,2.4,流程控制,2.4.1,条件语句,九、创建视图,2.4,流程控制,2.4.2,循环语句,do-while,循环:程序从会首先执行一次循环代码,然后判断布尔表达式的值,如果值为,true,就从,do,语句位置开始重新执行循环代码,一直到布尔表达式的值,false,。,while,循环:类似于,do,循环,但是,while,循环的布尔测试是在循环开始时进行的,如果测试布尔表达式的结果为,false,就不会执行循环代码,程序直接跳转到,while,循环后面的代码执行。,for,循环:可以执行指定的次数,并维护它自己的计数器。,foreach,循环:列举出一个集合(,collection,)中的所有元素,并执行关于集合中每个元素的嵌套语句。,break,语句:终止并跳出循环,continue,语句:终止当前的循环,重新开始一个新的循环,goto,语句:跳转到指定的位置,return,语句:跳出循环及其包含的函数,throw,语句:抛出一个异常,2.4,流程控制,2.4.2,跳转语句,类中包含数据成员(常数、域和事件)、功能成员(方法、属性、索引、操作符、构造函数和析构函数)和嵌套类型。,C#,中提供了很多标准的类,,Object,类是每个类的祖先类,,C#,中所有的类都是从,Object,类派生出来的。,“,类修饰符,”,用于对类进行修饰,说明类的特性。主要包括:,new,、,public,、,protected,、,private,、,internal,、,abstract,和,sealed,。,2.5,类和对象,2.5.1,类,属性:定义类的值,并对它们提供读、写操作。,方法:完成类中各种计算或功能的操作,不能和类同名,也不能在前面加,“,”,波浪线符号。,2.5.2,属性、方法,构造函数:构造函数的函数名必须和类名一样。当创建一个对象时,系统首先给对象分配合适的内存空间,随后系统就自动调用对象的构造函数。因此构造函数是对象执行的入口函数,非常的重要。,析构函数:该函数破坏一个类的实例,释放该实例占有的资源。和构造函数不同,析构函数在类撤销时运行,常用来处理类用完后的收尾工作。,2.5,类和对象,2.5.3,对象的创建和回收,继承性是面向对象的一个重要特性,在定义类的时候可以指定要继承的类,语法如下:,类修饰符,class,类名,:,父类名,成员修饰符,类的成员变量或者成员函数,;,;,多态性是指同一操作作用于不同类的实例,这些类进行不同的解释,从而产生不同的执行结果的现象。基类通过定义虚方法、虚属性,使它的派生类可以重载这些成员,从而实现类的多态性。,2.5,类和对象,2.5.4,继承和多态,委托是一种安全地封装方法的类型,它与,C,和,C+,中的函数指针类似。与,C,中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。,事件是类在发生其关注的事情时用来提供通知的一种方式。事件使用委托来为触发时将调用的方法提供类型安全的封装。委托可以封装命名方法和匿名方法。,2.6,委托与事件,第,3,章,ASP.NET,服务器控件,3.1 HTML,控件,表格是一种能够有效的描述信息的组织方式,由行、列和单元格组成,可以很好地控制页面布局。表格的定义通,,,和,标签实现。,定义表格的其基本格式如下所示。,表格的一行的第一个单元格,表格的一行的第二个单元格,.,表格的二行的第一个单元格,表格的二行的第二个单元格,.,.,3.1.1,表格,3.1 HTML,控件,网页中具有可输入表项及项目选择等控制所组成的栏目称为表单,表单一般由表单标签和表单域组成,其中表单标签里面包含了处理表单数据所用,CGI,程序的,URL,以及数据提交到服务器的方法;表单域是用户输入和交互的主要界面,包括了,,,,,,,四种类型,其中,类型又包含,Text,,,Radio,,,Checkbox,,,Password,,,Submit/Reset,,,Image,,,File,,,Hidden,,,Button,等类型。,3.1.2,表单,3.1 HTML,控件,Web,页面中可以使用,标签为页面添加图像,使得页面更加漂亮。在,Web,页面上可以显示,.gif,.jpg,或者,.png,等格式的图像。,3.1.3,图像,3.2 ASP.NET,控件的共有属性,AccessKey,属性用来为控件指定键盘的快速键,这个属性的内容为数字或是英文字母。例如设置为,“,A,”,,那么使用时用户按下,Alt+A,组合键就会制动将焦点移动到这个控件的上面。,1,AccessKey,属性,2,BackColor,和,ForeColor,属性,Backcolor,属性用于设置对象的背景色,其属性的设定值为颜色,名称或是,#RRGGBB,的格式。,ForeColor,属性用于设置对象的前景色,其属性的设定值和,Backcolor,的要求一样,为颜色名称或是,#RRGGBB,的格式。,3.2 ASP.NET,控件的共有属性,BorderWidth,属性可以用设定,Web,控件的边框宽度,单位是像素计算。,BorderColor,属性用于设定边框的颜色,其属性的设定值为颜,色名称或是,#RRGGBB,的格式。,BorderStyle,属性用来设定对象的边框的样式。,3,边框属性,Enabled,属性用于设置禁止控件还是使能控件。当该属性值为,False,时,控件为禁止状态。当该属性值为,True,时控件为使能状态,,对于有输入焦点的控件,用户可以对控件执行一定的操作。,3.2 ASP.NET,控件的共有属性,4,Enabled,属性,Font,属性有以下几个子属性,分别表现不同的字体特性:,Font-Bold,:如果属性值设定为,True,,则会变成粗体显示。,Font-Italic,:如果属性值设定为,True,,则会变成斜体显示。,Font-Names,:设置字体的名字。,Font-Size,:设置字体大小,共有九种大小可供选择,Smaller,、,Larger,、,XX-Small,、,X-Small,、,Small,、,Medium,、,Large,、,X-Large,或者,XX-Large,。,Font-Strikeout,:如果属性值设定为,True,,则文字中间显示一条删除线。,Font-Underline,:如果属性值设定为,True,,则文字下面显示一条底线。,3.2 ASP.NET,控件的共有属性,5,Font,属性,TabIndex,属性用来设置,Tab,按钮的顺序。当用户使用者按下,Tab,键时,输入焦点将从当前控件跳转到下一个可以获得焦点的控件,,TabIndex,键就是用于定义这种跳转顺序的。,3.2 ASP.NET,控件的共有属性,6,TabIndex,属性,ToolTip,属性用于设置控件的提示信息。在设置了该属性值后,,当鼠标停留在,Web,控件上一小段时间后就会出现,ToolTip,属性中设置,的文字。,7,ToolTip,属性,Visible,属性决定了控件是否会被显示,如果属性值为,true,将,显示该控件,否则将隐藏该控件(该控件存在,只是不可见)。,3.2 ASP.NET,控件的共有属性,8,Visible,属性,Height,和,Width,属性分别用于设置控件的高度和宽度,单位是,pixel,(像素),9,Height,和,Width,属性,3.3.1,显示数据,3.3 Web,基本服务器控件,Label Web,服务器控件为开发人员提供了一种以编程方式设置,Web,窗体页中文本的方法。通常当希望在运行时更改页面中的文本时就可以使用,Label,控件。当希望显示的内容不可以被用户编辑时,也可以使用,Label,控件。,Image,类直接继承于,WebControl,类,可以在,Web,页上显示图像(但是不能捕捉鼠标的单击事件)。该控件包含多种属性,如下所示。,ImageUrl,属性:指定所显示图像的路径。,AlternateText,属性:设置当图像不可用时显示的替代文字。,ImageAlign,属性:指定图像相对于,Web,页上其他元素的对齐方式。,3.3.2,显示图像,3.3 Web,基本服务器控件,TextBox,类直接继承于,WebControl,类,用于让用户输入文本,它多种显示效果,使用非常的灵活,相当于,HTML,中的,、,或者,元素。主要属性有:,Text,属性:设置和读取,TextBox,中的文字。,TextMode,属性:设置文本的显示模式,Columns,属性:获取或设置文本框的显示宽度,Rows,属性:获取或设置多行文本框中显示的行数,MaxLength,属性:设置可以接受的最大字符数目。,AutoPostBack,属性:设置每当用户修改,TextBox,控件中的文本并使焦点离开该控件时,是否都向服务器自动回送。,Wrap,属性:设置是否自动断行。,3.3.3,输入数据,3.3 Web,基本服务器控件,Buton,控件可以用来作为,Web,页面中的普通按钮,它可以表示两种类型的按钮:,submit,类型的按钮和,command,类型的按钮。,submit,类型按钮用来把,Web,页面提交到服务器处理,没有从服务器返回的过程。,command,类型的按钮有一个相应的,command,名,当有多个,command,类型的按钮共享一个事件处理函数时,可以通过,Command,名字区分要出来哪个,Button,的事件。,3.3.4 Button,控件,3.3 Web,基本服务器控件,HyperLink,类直接继承于,WebControl,类,用于创建到其他,Web,页的,链接,它可以用来设定超级链接,就是相当于,HTML,元素的,标注,3.3.5 HyperLink,控件,3.3 Web,基本服务器控件,ListBox,控件可以选择一项或者多项内容,其主要属性如下:,Rows,属性定义了,ListBox,的显示行数,当控件实际包含的项数超过了显示的行数,就会显示一个垂直滚动条。,SelectionMode,属性用于设置是否只能选择一个选项,如果该属性值为,Single,,则只能有一个选项被选中。,SelectedItem,属性返回被选中的选项,3.3.6,列表控件,3.3 Web,基本服务器控件,CheckBox,类继承于,WebControl,类,用于允许用户选择,true,状态或,false,状态。它实现了复选框的功能,相当于,HTML,元素。,Text,属性:设置或者获取,CheckBox,控件显示的文字。,TextAlign,属性:设置文字的对齐方式。,AutoPostBack,属性用于设置是否自动向服务器发送数据,其默认属性值为,false,。,Checked,属性用于设置或者获取,CheckBox,控件是否被选中。,CheckBoxList,控件直接从,ListControl,类继承,可以看成是一个,CheckBox,控件的集合。当用户希望灵活的控制界面布局,定义不同的显示效果时,或者只使用较少的几个复选框时可以使用,CheckBox,控件,当有较多的复选框时,建议使用,CheckBoxList,控件。,3.3.7,多选操作,3.3 Web,基本服务器控件,RadioButton,控件和,RadioButtonList,控件的关系就像,CheckBox,控件和,CheckBoxList,控件一样,其中,RadioButton,继承于,CheckBox,。其属性为:,Checked,属性:获取或者设置,RadioButton,是否被选中,GroupName,属性:为,RadioButton,设置组,当有多个,RadioButton,时,可以把它们设置为同一个组,Text,属性:显示,RadioButton,的文字信息,TextAlign,:设置文字的对齐方式,RadioButtonList,控件用于提供一组,RadioButton,控件,使用,RadioButtonList,控件可以方便的快速的生成,RadioButton,。,3.3.8,单选操作,3.3 Web,基本服务器控件,DropDownList,控件与,ListBox,控件非常相似,该控件类似,Windows,的中下拉列表框,用户可以从单项选择下拉列表框中进行选择。,DropDownList,控件允许用户从预定义列表中选择一项内容,单击该控件时会显示下来列表框显示备选项。,3.3.9,下拉列表框,3.3 Web,基本服务器控件,Panel,控件一般作为其他控件的容器使用,在编程过程中,如果,打算控制一组控件的集体行为,例如显示或者隐藏控件,禁止或者,使能控件等,就可以使用,Panel,控件,只要设置,Panel,控件的该属,性,即可达到控制效果。,3.3.10,控件的容器,3.3 Web,基本服务器控件,Table,控件可以在,Web,窗体页上创建表格,该控件可,以生成,HTML,表,类似于,标记。,和,用于定义表格中,的行。,和,用于定义行,中的每一个单元格。,3.3.11,表格控件,3.3 Web,基本服务器控件,BulletedList,控件生成一个采用项目符号格式的项列表,如果用户,希望指定显示在,BulletedList,控件中的个别列表项,请在,BulletedList,控件的,开始标记和结束标记之间为每个项放置一个,ListItem,对象。,使用,FirstBulletNumber,属性来指定排序,BulletedList,控件中开始列表项,编号的值。如果,BulletStyle,属性设置为,Disc,、,Square,、,Circle,或,ustomImage,字段,则忽略分配给,FirstBulletNumber,属性的值。如果将,BulletStyle,属性,设置为,CustomImage,的值,以指定项目符号的自定义图像,则开发人员还,必须设置,BulletImageUrl,属性以指定图像文件的位置。,3.4.1,使用,BulletedList,控件实现项目符合和编号,3.4 ASP.NET2.0,高级控件,ImageMap,控件可以创建一个图像,该图像包含许多用户可以单击的,单个区域,这些区域称为作用点。每一个作用点都可以是一个单独的超接,或回发事件。,ImageMap,控件主要由两个部分组成。第一个是图像,它可是任何标,准,Web,图形格式的图形,如,.gif,、,.jpg,或,.png,文件。第二个元素是作用点控,件的集合。每个作用点控件都是一个不同的元素。对于每个作用点控件,,我们要定义其形状(圆形、矩形或多边形)以及用于指定作用点的位置大,小的坐标。,3.4.2 ImageMap,控件,3.4 ASP.NET2.0,高级控件,Calendar,控件用来显示单月月历,该月历使用户可以选择日期并移,到下个月或上个月。,Calendar,控件为用户选择日期提供了丰富的可视界,面,通过该控件用户可以选择日期并移到下个月或上个月。该控件的主要,属性有:,SelectionMode,属性:指定,Calendar,控件是否允许选择单日、周或整月。,ShowDayHeader,:显示或隐藏显示一周中各天的部分。,ShowGridLines,:显示或隐藏月中各天之间的网格线。,ShowNextPrevMonth,:显示或隐藏指向下个月或上个月的导航控件。,3.5.1 Calendar,控件,3.5 ASP.NET2.0,功能增强控件,AdRotator,控件用来在,Web,窗体页上显示随机选定的广告信息,直接,继承于,WebControl,。该控件的主要属性有:,ImageUrl,:指定了图像文件的绝对或相对路径。,NavigateUrl,:指定了当用户单击广告时要链接到的页的,URL,。,AlternateText,:设置当由,ImageUrl,属性指定的图像不可用时替换该图像,的文本显示。,Keyword,:设置该广告的筛选关键字。,Impressions,:设置该广告在轮换安排中相对于文件中其他广告的重要。,KeywordFilter,属性:设置过滤关键字,3.5.2 AdRotator,控件,3.5 ASP.NET2.0,功能增强控件,第,4,章,ASP.NET 2.0,验证控件,4.1,验证控件简介,服务器端数据验证,验证控件在服务器代码中执行输入检查。当用户向服务器提交页面之后,服务器将逐个调用验证控件来检查用户输入。如果在任意输入控件中检测到验证错误,则该页面将自行设置为无效状态,以便在代码运行之前测试其有效性。验证空间错误信息的显示方式包括:,客户端数据验证,如果用户使用的浏览器支持,ECMAScript(Javascript),,则验证控件还可使用客户端脚本执行验证。这样可以缩短页面的响应时间,因为错误将被立即检测到并且将在用户离开包含错误的控件后立即显示错误信息。,4.1,验证控件简介,ASP.NET,验证控件的分类,ASP.NET,验证控件共有五种,分别用于检查用户输入信息的不同方面,各种控件的类型和作用如下所示:,必需项,RequiredFieldValidator,:验证某个控件的内容是否被改变,与某值的比较,CompareValidator,:对两个值进行比较,验证范围检查,RangeValidator,控件:验证某个值是否在要求的范围内,模式匹配,RegularExpressionValidator,:验证相关输入控件的值是否匹配正则表达式指定的模式,用户定义,ValidationSummary,:显示所有验证错误的摘要,4.2,非空验证,RequiredFieldValidator,控件可以验证用户的是否对某个,Web,页面中的字段进行了编辑,直接继承于,BaseValidator,类。该控件的属性主要包括:,ControlToValidate,属性:关联要被验证的控件。,InitialValue,属性用于获取或者设置要被检验的初始值。,ErrorMessage,属性:验证不通过时显示的错误信息。,Text,属性:控件中显示的信息。,4.3,范围验证,RangeValidator,控件用于测试输入控件的值是否在指定范围内,直接继承于,BaseCompareValidator,。该控件的主要属性有:,MaximumValue,:指定有效值的最大值。,MinimumValue,:指定有效值的最小值。,ErrorMessage,:指定了验证失败时要显示的错误信息。,return,语句:跳出循环及其包含的函数,throw,语句:抛出一个异常,4.4,使用正则表达式进行验证,RegularExpressionValidator,控件用于验证相关输入控件的值是否匹配正则表达式指定的模式,直接继承于,BaseValidator,。一般通过,IDE,中的,“,正则表达式编辑器,”,来设置正则表达式。该编辑器如图所示。,正则表达式编辑器,4.5,验证两个控件输入值是否相同,CompareValidator,控件用于将用户输入的值和其他控件的值或者常数进行比较,直接继承于,BaseCompareValidator,。该控件的主要属性有:,ControlToValidate,属性:指定要验证的输入控件。,Type,属性:指定了两个比较值的数据类型。,Operator,属性指定了进行比较的类型。,4.6,使用自定义函数的验证,如果现有的,ASP.NET,验证控件无法满足需求,我们可以定义一个自定义的服务器端验证函数,然后使用,CustomValidator,控件来调用它。该类直接继承于,BaseValidator,。,CustomValidator,的语法如下所示:,4.7,页面统一验证,ValidationSummary,控件用于显示页面中的所有验证错误的摘要,直接继承于,WebControl,。当页面上有很多验证控件时,可以使用一个,ValidationSummary,控件在一个位置总结来自,Web,页上所有验证程序的错误信息。该控件的主要属性有:,DisplayMode,属性:设置验证摘要的显示模式。,ShowSummary,属性:指定是显示还是隐藏,ValidationSummary,控件。,ShowMessageBox,属性:指定是否显示一个消息对话框显示验证的摘要信息。,HeaderText,属性:获取或设置显示在摘要上方的标题文本。,第,5,章,ASP.NET,中的对象,5.1,基本输出对象,Response,Response,对象属于,HttpResponset,类,当,Page,类的,Response,属性被访问时,它返回该对象,然后开发者就可以使用该对象中的方法。该类的主要属性有:,Buffer,:获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送。,ContentType,:获取或设置输出流的,HTTP MIME,类型。,Cookies,:获取响应,Cookie,集合。,Clear,:清除缓冲区流中的所有内容输出。,Redirect,:将客户端重定向到新的,URL,5.1,基本输出对象,Response,Write,方法用于将信息写入,HTTP,响应输出流,输出到客户端显示,其语法定义如下所示。,public void Write(char,int,int);,public void Write(string);,public void Write(object);,public void Write(char);,WriteFile,可以将指定的文件直接写入,HTTP,响应输出流,其语法,定义如下所示。,public void WriteFile(string filename);,public void WriteFile(string filename,long offset,long size);,public void WriteFile(IntPtr fileHandle,long offset,long size);,public void WriteFile(string filename,bool readIntoMemory);,1.,输出字符串和文件,5.1,基本输出对象,Response,Response,对象的,Redirect,方法可以将客户端重定向到新的,URL,,其语法定义如下所示。,public void Redirect(string url);,public void Redirect(string url,bool endResponse);,其中,,url,为要重新定向的目标网址,,endResponse,指示当前页的执行是否应终止。,2.,网页重定向,5.2,基本输入对象,Request,访问,Page,类的,Request,属性时,它返回,HttpRequest,的一个对象。然后开发者就可以使用该对象中的方法。该属性提供对当前页请求的访问,其中包括请求标题、,Cookie,、客户端证书、查询字符串等。,HttpRequest,类的常见属性有:,ApplicationPath,:说明被请求的页面位于,Web,应用程序的哪一个文件夹中。,Path,:与,ApplicationPath,相同,即返回页面完整的,Web,路径地址,而且还包括页面的文件名称。,PhysicalApplicationPath,:返回页面的完整路径,但它位于物理磁盘上,而不是一个,Web,地址。,Cookies,:查看访问者在以前访问本站点时使用的,cookies,。,在,Page_Load,事件中进行处理,以便获得浏览器的信息。代码如下:,protected void Page_Load(object sender,EventArgs e),if(!IsPostBack),Label1.Text=Request.UserHostName;,Label2.Text=Request.UserHostAddress;,Label3.Text=Request.UserLanguages0;,1.,获取浏览器信息,5.2,基本输入对象,Request,在,Page_Load,事件中进行处理,以便获得,HTTP,的信息。代码如下:,protected void Page_Load(object sender,EventArgs e),.Response.Write(,利用,Request,对象获取,HTTP,中的信息,);,NameValueCollection coll=Request.Headers;,String arr1=coll.AllKeys;,for(int loop1=0;loop1 arr1.Length;loop1+),Response.Write(arr1loop1+,:,);,String arr2=coll.Get
展开阅读全文