收藏 分销(赏)

ASPNE3.0课件.ppt

上传人:天**** 文档编号:8801352 上传时间:2025-03-02 格式:PPT 页数:558 大小:8.88MB
下载 相关 举报
ASPNE3.0课件.ppt_第1页
第1页 / 共558页
ASPNE3.0课件.ppt_第2页
第2页 / 共558页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,1,章,.ASP.NET,入门,ASP.NET是一种用于创建Web应用程序的编程模型,可以使用C#或者是VB.NET、J#进行ASP.NET应用程序的开发。NET框架从1.0开始,经过1.0、2.0、3.0现在已经到了3.5,其中每一次升级都是对前一版本的修补与扩展。ASP.NET 3.5是基于.NET 3.5框架的动态页面开发技术,其秉承了ASP.NET 2.0的组件开发技术,提供了Web开发所需要的大部分组件,如登录、验证、数据源管理、数据显示、网页导航设计等。开发人员使用ASP.NET 3.5,不仅可以开发出美观的界面,还可以通过后台技术,实现数据管理、动态页面更新等新技术。,章节内容,1.1ASP.NET,概述,1.2VS.Net2008,安装与运行,1.3Visual Studio 2008,与,Visual Web Developer,1.4,第一个,ASP.NET,网站,1.1ASP.NET概述,微软的,.NET,平台其核心是一系列新的集合,称为,.NET Framework,,我们通常会查阅的,Framework,就是,.NET Framework,。这个框架集提供了一个既可快速开发基于,Windows,的程序,也可快速开发,Web,应用程序的平台。,.NET Framework,具有两个主要组成部分,即公共语言运行库(,CLR,)和,.NET Framework,类库(也叫框架类库,FCL,)。,1.1.1.NET Framework,的基本概念,CLR,是为,.NET Framework,所编写的代码执行环境。,CLR,管理着,.NET,代码的执行,包括内存的分配和垃圾的回收(避免内存泄露问题)、安全性(包括对不同来源的代码应用不同的信任度)、线程管理、强类型和其他一些任务。,.NET Framework,类库是一系列可重用的面向对象的类,提供基本平台的功能,从存取数据库的类,ADO.NET,,到文件系统模块的类(包括文件、目录和流等类),再到允许我们方便地实现,DNS,解析。开发者们可以直接使用这些基类或者继承这些类来实现一些定制的功能。,1.1.2,公共语言运行库,公共语言运行库包括管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。使用基于公共语言运行库的语言编译器开发的代码称为托管代码。托管代码具有许多优点,如跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持等。这些功能是在公共语言运行库上运行的托管代码所固有的。,1.1.3.NET Framework 3.5,概述,Multitargeting,VS2008,有一个新的简单而强大的功能,multitargeting,。它具有针对不同的,.Net,框架版本(,2.0,、,3.0,和,3.5,)创建项目的能力,这意味着,,VS2008,可以与,VS2005,同时安装。同时你可以不再需要,VS2005,,因为,VS2008,提供的功能更强大。,LINQ,VS2008,最大的特点是,LINQ,(语言整合查询)。,LINQ,是一个新的范例,其用统一的方式查询数据来源,如在内存中的对象、,XML,模式、,SQL,查询结果、数据集合或任何其他(因为,LINQ,架构已被完全扩展)。,1.1.3.NET Framework 3.5,概述,ASP.NET AJAX,对于网站开发人员来说,ASP.NET AJAX改进后可以独立出来。ASP.NET 3.5包括3个新增的控件,如ListView、DataPager和LinqDataSource。改进后的IDE也可以用于ASP.NET 2.0项目,如支持JavaScript的动态智能感知和调试,一个新的CSS引擎和一个支持嵌套母版页的HTML设计器。,WPF,WPF,(,Windows Presentation Foundation,)是一个更有生产力的、更统一的用来管理用户界面、文档及多媒体等的模型,是基于,.NET 3.0,的产品。作为下一代的图形系统,,WPF,所带来的新概念、新技术也相当庞大、复杂。,1.1.3.NET Framework 3.5,概述,WCF,WCF,(,Windows Communication Foundation,)是使用托管代码建立和运行面向服务(,Service Oriented,)应用程序的统一框架。它使得开发者能够建立一个跨平台、安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。,WCF,是微软分布式应用程序开发的集大成者,它整合了,.NET,平台下所有的和分布式系统有关的技术。以通信范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于,Internet,;以宿主(,Host,)程序而论,它可以以,ASP.NET,、,EXE,、,WPF,、,Windows Forms,、,NT Service,、,COM+,作为宿主。微软将所有与此相关的技术要素都包含在内,掌握了,WCF,就相当于掌握了叩开,SOA,大门的钥匙。,.Net,框架的主要组成部分,1.2 VS.Net2008,安装与运行,安装要求,最低要求:,1.6GHz CPU,、,384 MB RAM,、,1024*768,显示器、,5400RPM,硬盘。,推荐:,2.2GHZ,或以上的,CPU,、,1024 MB,或以上的,RAM,、,1280*1024,显示器、,7200RPM,或更高转速的硬盘。,在,Windows Vista,上的运行要求:,2.4GHz CPU,、,768MB RAM,。,第一次运行,Visual Studio,,会打开,“,选择默认环境设置,”,窗口,用于提示设置默认环境。这里,在,“,选择默认环境设置,”,列表框中选择,“,Visual C#,开发设置,”,,再单击,“,启动,Visual Studio,”,按钮。,1.3Visual Studio 2008与Visual Web Developer,VS2008,是针对,ASP.NET 3.5,开发平台推出的综合开发环境,而,Visual Web Developer,则是,VS2008,中用来开发,Web,应用程序的一个单元模块。,1.4第一个ASP.NET网站,首先打开,VS2008,,然后单击菜单栏中的,“,文件,”,“,新建,”,“,网站,”,命令,打开如图所示的,“,新建网站,”,窗口。,1.4.1,页面设计,为了使显示效果更加直观,我们向页面中插入一个表格,并设置表格的布局为居中,其HTML代码如下,:,1.4.2,功能实现,打开default.aspx.cs文件,在protected void Page Load(object sender,EventArgs e)方法中输入,以,下代码,:,1 protected void Page_Load(object sender,EventArgs e),2,3 lbhello.Text=hello world!;,4,1.4.3,运行查看效果,右击,“,解决方案,”,中的default.aspx选项,在右键菜单中单击,“,在浏览器中查看,”,命令,程序的运行结果如图所示。,第,2,章,C#,语言基础,ASP.NET框架中提供了多种语言支持,其中C#语言是使用ASP.NET创建应用程序的基础语言之一。C#语言是微软为ASP.NET量身定做的语言,具有良好的兼容性和可扩展性。C#语言是一种强大的面向对象语言,支持类、接口、封装、抽象等功能,代码健壮、易于调试。开发人员可以使用C#语言创建任何一种.NET应用程序。本书所有代码都是使用C#来编写,因此掌握C#的基本语法,是ASP.NET入门的第一步。,章节内容,2.1C#,语言的特点,2.2C#,程序设计基础,2.3C#,语言面向对象的特性,2.4C#,的特性,2.1C#,语言的特点,简单,现代,面向对象,版本控制,兼容,灵活,2.2,C#程序设计基础,C#,的程序结构,使用,C#,语言来编写应用程序时,每个文件可以包含零个或零个以上的命名空间。一个命名空间除了可以包含其他命名空间外,还可以包含类、结构、接口、枚举、委托等类型。,C#,中程序结构的关键概念为程序、命名空间、类型、成员和程序集。在程序中可以声明类型,类型中可以包含成员,而最典型的类型的使用就是类和接口。成员可以包含字段、方法、属性和事件。当,C#,程序被编译时,它们被物理地打包到程序集中。程序集的文件扩展名一般为,.exe,或者,.dll,,这取决于它们是实现为应用程序(,application,),还是类库(,library,)。,2.2.1,C#,语言的数据类型,值类型,类型,含义,Sbyte,代表有符号的,8,位整数,数值范围从,-,128,127,Byte,代表无符号的,8,位整数,数值范围从,0,255,Short,代表有符号的,16,位整数,范围从,-32,76832,767,ushort,代表无符号的,16,位整数,范围从,065,535,Int,代表有符号的,32,位整数,范围从,-,2147483648,2147483648,uint,代表无符号的,32,位整数,范围从,0,4294967295,Long,代表有符号的,64,位整数,范围从,-,9223372036854775808,9223372036854775808,Ulong,代表无符号的,64,位整数,范围从,0,18446744073709551615,2.2.2,C#,语言的数据类型,引用类型,引用类型包括类类型、接口类型、代表类型和数组类型。引用类型的变量又称为对象,是可存储对实际数据的引用。如果声明了一个引用类型的变量却不给它赋给任何对象,那么它的默认值就是,null,。而数值类型的值是不能为,null,。,2.2.3,变量,变量,变量名必须以字母开头。,变量名只能由字母、数字和下划线组成,而且不能包含空格、标点符号、运算符等其他符号。,变量名不能与,C#,中的关键字名称相同。,变量名不能与,C#,中的库函数名称相同。,2.2.4,变量,变量名必须以字母开头。,变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其他符号。,变量名不能与,C#,中的关键字名称相同。,变量名不能与,C#,中的库函数名称相同。,2.2.3,运算符,在,C#,语言中,和其他编程语言一样,具有多种运算符。在,C#,语言中,运算符大体分为,6,种:算术运算符、条件运算符、逻辑运算符、关系运算符、赋值运算符和成员访问运算符。,2.2.3,运算符,算术运算符表,类别,运算符,说明,表达式,算数运算符,+,执行加法运算(如果两个操作数是字符串,则,该,运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾),操作数,1+,操作数,2,-,执行减法运算,操作数,1-,操作数,2,算数运算符,*,执行乘法运算,操作数,1*,操作数,2,/,执行除法运算,操作数,1/,操作数,2,%,获得进行除法运算后的余数,操作数,1%,操作数,2,+,将操作数加,1,操作数,+,或,+,操作数,-,将操作数减,1,操作数,-,或,-,操作数,将一个数按位取反,操作数,2.2.3,运算符,关系运算符,类别,运算符,说明,表达式,关系运算符,检查一个数是否大于另一个数,操作数,1,操作数,2,检查一个数是否小于另一个数,操作数,1=,检查一个数是否大于或等于另一个数,操作数,1=,操作数,2,=,检查一个数是否小于或等于另一个数,操作数,1=,操作数,2,=,检查两个值是否相等,操作数,1=,操作数,2,!=,检查两个值是否不相等,操作数,1!=,操作数,2,2.2.3,运算符,其他运算符,类别,运算符,说明,表达式,成员访问运算符,.,用于访问数据结构的成员,数据结构,.,成员,赋值运算符,=,给变量赋值,操作数,1=,操作数,2,逻辑运算符,&,对两个表达式执行逻辑“与”运算,操作数,1&,操作数,2,|,对两个表达式执行逻辑“或”运算,操作数,1|,操作数,2,!,对两个表达式执行逻辑“非”运算,!,操作数,(),将操作数强制转换为给定的数据类型,(,数据类型,),操作数,条件运算符(三元运算符),?:,检查给出的第一个表达式是否为真。如果为真,则计算,操作数,1,,否则计算,操作数,2,。这是唯一带有,3,个操作数的运算符,表达式,:,操作数,1,:,操作数,2,2.2.3,运算符,运算符优先级,运算符类型,运算符,元运算符,X.y,,,f(x),,,ax,,,x+,,,x,-,,,new,,,typeof,,,checked,,,unchecked,一元运算符,+,,,-,,,!,,,,,+x,,,-,x,,,(T)x,算术运算符,*,,/,,,%,位运算符,,,&,,,|,,,,,关系运算符,,,=,,,is,,,as,逻辑运算符,&,,,,,|,条件运算符,&,,,|,,,?,赋值运算符,=,,,+=,,,-,=,,*,=,,,/=,,,=,,,&=,,,=,,,|=,2.2.4,语句,选择语句,循环语句,2.2.4,语句,选择语句,选择语句中,程序会根据条件表达式的值来判断程序将要执行的代码块,常用的条件语句有,if,、,if else,、,if else if,、,switch,等。,2.2.4,选择语句,ifelse,C#,中的,ifelse,语句的语法结构如下。,语法格式为:,if(,条件,),执行语句,;,或,if(,条件,),执行语句,1;,else,执行语句,2;,2.2.4,选择语句,switchcase,要实现多重分支判断,一般采用,switchcase,语句。,switchcase,语句可以根据条件从一组不同的分支中选择一个来执行。,switch(,条件,),case,常数表达式,1:,执行语句,;,break;,case,常数表达式,2:,执行语句,;,break;,case,常数表达式,3:,执行语句,;,break;,default:,默认的处理语句,;,break;,2.2.4,语句,循环语句,在,C#,语言中提供的循环语句,主要有,for,、,while,、,do while,、,foreach,等。这些循环语句可以充分解决程序开发过程中,需要重复循环才能实现的问题。循环语句能够减少代码量,避免重复输入相同的代码行,也能够提高应用程序的可读性。,2.2.4,循环语句,for循环,for,语句一般用于已知重复执行次数的循环,是程序开发中常用的循环条件之一。当,for,循环表达式中的条件为,true,时,就会一直循环代码块。因为,循环的次数是在执行循环语句之前计算的,所以,for,循环又称作预测式循环;当,for,循环表达式中的条件为,false,时,,for,循环会结束循环并跳出。,for,循环的语法格式如下。,for(,初始变量,;,循环条件,;,计数器,),循环语句,;,2.2.4,循环语句,while循环,while语句同for语句一样都可以执行循环,但是while语句的使用更加灵活,开发人员可以在代码块执行前判断条件,也可以在代码块执行一次后再,进行判断条件。,while语句略带有if语句的特点,同样也是经常使用的循环语句。while循环语句的语法格式如下。,while(,循环条件,),循环语句,;,2.2.4,循环语句,dowhile循环,do while循环其实是while循环的一种特殊形式,区别在于do while循环会先执行一次,循环语句,然后再判断,while中的条件,这种循环称为后测试循环。do while 循环语句的语法格式如下,。,do,循环语句;,while(循环条件),2.2.4,循环语句,foreach循环,foreach,循环是,for,循环的一种特殊表现形式,如果想重复集合或者数组中的所有条目,使用,foreach,是很好的解决方案。,foreach,语句的语法格式如下。,foreach(,类型 变量名,in,集合,),循环语句,;,2.3 C#,语言面向对象的特性,类声明,构造函数与析构函数,方法,2.3.1,类声明,C#,是面向对象的编程语言。在面向对象开发当中,不可避免地要创建一个类。“类”是一种构造,通过使用该构造,开发人员可以将其他类型的变量、方法和事件组合在一起,从而创建自己的自定义类型。,在C#中使用关键字class来声明类,声明形式如下。,类修饰符 class【类名】:【基类或接口】,【类体】,;,2.3.1,类声明,在,C#,中声明新类时,其类名的定义需要遵循一定的命名规则,类名最好能体现类的含义和用途。类名一般采用第一个字母大写的名词,也可以采用多个词构成的组合词。如果类名由多个词组成,则每一个词的第一个字母都应该大写。另外,在同一个命名空间内,类名不能重复。,2.3.1,类声明,类的访问权限,Public,:使用,public,关键字修饰的类,具有最高访问级别,它的任何对象或者其他的类都能对,public,关键字所修饰的类或类成员进行访问。,Private,:关键字所定义的访问权限是受限制的,在,C#,语言中具有最低的访问级别,这样可以保证类和类成员的安全,同时也限制了其他类或对象对它的访问。私有成员只有在声明它们的类之后才能访问。,Protected,:字段具有保护类中字段的功能,能够保证类和类成员的安全性,也能够限制其他类或对象对它的访问。但是与,private,不同的是,,protected,能够在类和类的派生类中使用,比,private,具有更高的访问级别,又比,public,拥有更低的访问级别,保证了类的安全性。,internal,字段修饰的类或类成员,只有在同一程序集的文件中,内部类型或成员才可以访问。,2.3.1,类声明,类的成员,字段,:,通常用来存储类中对象的值。,属性:属性可以为字段提供保护,避免字段在用户创建的对象不知情的情况下被更改。,方法:方法是由“,”,组合在一起的代码块,用来接收输入数据,在方法体内进行运算处理,并返回处理结果。,事件:事件是一个对象向其他对象提供有关事件发生的通知的一种方式。,2.3.2,构造函数与析构函数,构造函数,构造函数不声明返回类型(甚至也不能使用,void,),也不能返回值。,一般地,构造函数总是,public,类型的。,private,类型的构造函数,表明类不能被实例化,通常用于只含有静态成员的类。,在构造函数中不要做对类的实例进行初始化以外的事情,也不能被显式地调用。,2.3.2,构造函数与析构函数,析构函数,只能对类定义析构函数,结构不支持析构函数。,一个类只能有一个析构函数。,无法继承或重载析构函数。,无法调用析构函数,在对象注销时,系统会自动调用。,析构函数既没有修饰符也不能为它传递参数。,2.4,C#,的特性,接口与集合,委托与事件,泛型,2.4.1,C#,的特性,接口与集合,接口,继承接口的任何非抽象类型都必须实现接口的所有成员。,不能直接实例化接口。,接口可以包含事件、索引器、方法和属性。,接口不包含方法的实现。,类可以继承多个接口。,接口可以继承多个接口。,2.4.1,C#,的特性,接口与集合,集合,集合类定义为,System.Collection,或,System.Collections.Generic,命名空间的一部分。,大多数集合类都派生自,ICollection,、,IComparer,、,IEnumerable,、,IList,、,IDictionary,和,IDictionaryEnumerator,接口以及它们的等效泛型接口。,使用泛型集合类可以提供更高的类型安全性,在某些情况下还可以提供更好的性能,尤其是在存储值类型时,这些优势会体现得更明显。,2.4.2,C#,的特性,委托与事件,委托,在,C#,中实现委托的方法有以下几个步骤。,(,1,)声明委托。,(,2,)定义呼叫者和调用的函数。,(,3,)定义被呼叫者和具体实现的函数(被调用的函数),2.4.2,C#,的特性,委托与事件,事件,在,C#,中实现委托的方法有以下几个步骤。,事件通常使用委托事件处理程序进行声明。,事件始终通知对象消息并指示需要执行某种操作的一种方式。,发行者确定何时引发事件,订阅者确定执行何种操作来响应该事件。,一个事件可以有多个订阅者。一个订阅者可处理来自多个发行者的多个事件。,没有订阅者的事件永远不会被调用。,事件通常用于通知用户操作,如图形用户界面中的按钮单击或菜单选择操作。,如果一个事件有多个订阅者,当引发该事件时,会同步调用多个事件处理程序,也可以使用异步处理多个事件。,2.4.3,C#,的特性,泛型,泛型,在,C#,中泛型具有以下特点。,如果实例化泛型类型的参数相同,那么,JIT,编译器会重复使用该类型,因此,C#,的动态泛型能力避免了,C+,静态模板可能导致的代码膨胀的问题。,C#,泛型类型携带有丰富的元数据,因此,C#,的泛型类型可以应用于强大的反射技术。,C#,的泛型采用“基类、接口、构造器、值类型,/,引用类型”的约束方式来实现对类型参数的“显示约束”,提高了类型安全的同时,也丧失了,C+,模板基于“签名”的隐式约束所具有的高灵活性。,第3章 System.IO命名空间,在ASP.NET 3.5中提供了对系统中文件的存取、创建、修改等封装类,使Web应用程序更具有实际应用价值,开发人员经常会用来开发Web OA(网络办公系统)等用于网络化动态修改文件的系统。ASP.NET 3.5中用来对文件进行修改的封装类都集中在System.IO命名空间中。System.IO命名空间中的封装类用来读写基于字符、二进制、字符串、内存的各种数据存储内容的方法。,章节内容,3.1,System.IO命名空间概述,3.2,System.IO命名空间常用类,3,.1System.IO命名空间概述,System.IO,命名空间的主要成员,类名,描述,BinaryReader,以二进制值读取基本数据类型(整型、布尔型、字符串型和其他类型),BinaryWriter,以二进制值存储基本数据类型(整型、布尔型、字符串型和其他类型),BufferedStream,为字节流提供临时存储空间,允许以后提交,Directory,通过静态方法实现操作计算机的目录结构,DirectoryInfo,通过一个有效的对象变量来实现操作计算机的目录结构,File,通过静态方法实现操作计算机上的一组文件,FileInfo,通过一个有效的对象变量来实现操作计算机上的一组文件,FileStream,实现文件随机访问(如寻址能力),并以字节流来表示数据,FileStreamWatcher,监控对指定的外部文件的更改,MemoryStream,实现对内存(而不是物理文件)中存储的流数据的随机访问,Path,包含文件或目录的路径信息,其返回值为,System.String,类型,StreamWriter,在文件中存储文本信息,不支持随机文件访问,StreamReader,从文件中获取文本信息,不支持随机文件访问,StringWriter,存储字符串缓冲区的文本信息,StringReader,读取字符串缓冲区的文本信息,3.2.1,System.IO.BinaryWriter,BinaryWriter,类以二进制格式将信息写入文本文件中,它从,System.Object,直接派生。,BinaryWriter,类在继承时,对,Write(),方法进行重载,并使用,Write(),方法将数据写入到文本文件中。,BinaryWriter,类中不仅定义了,Write(),方法,还提供了另外一些成员对文本文件进行操作。在,BinaryWriter,类中提供的常用成员如表所示。,成员,描述,BaseStream,提供了,BinaryWriter,对象使用的基层流的访问,Close(),关闭二进制流,Flush(),刷新二进制流,Seek(),设置当前流的位置,Write(),将值写入当前流,3.2.2,System.IO.BinaryReader,BinaryReader,类与,BinaryWriter,类一样,也从,System.Object,直接派生,与,BinaryWriter,类具有相同的特性。,BinaryReader,提供了一些成员让开发人员能获取或设置从,Stream,派生的类型,这些成员如表所示。,成员,描述,BaseStream,提供,BinaryReader,对象使用的基层流的访问,Close(),关闭二进制阅读器,PeekChar(),返回下一个可用的字符,并且不改变指向当前字节或字符的指针位置,Read(),读取给定的字节或字符,并把它们存入数组,ReadXXX(),BinaryReader,类定义了许多,ReadXXX(),方法来从流中获取下一个类型(,ReadBoolean(),、,ReadByte(),、,ReadInt32(),等),3.2.3,System.IO.BufferedStream,BufferedStream,用来输出缓冲区内的字节块,它提供从基础数据源或储存库读取字节以及将字节写入基础数据源或储存库的实现。,BufferedStream,提供了,BinaryReader,类和,BinaryWriter,类对文本文件进行读取和写入。,BufferedStream,用于在不需要缓冲区时防止缓冲区降低输入和输出速度。,3.2.4,System.IO.DirectoryInfo,在,ASP.NET 3.5,的,System.IO,命名空间中不仅提供了操作文件的类,还提供了操作目录的类,这一节来讲解,DirectoryInfo,类。,DirectoryInfo,类主要用来创建、移动、删除和枚举目录下的所有成员,如表所示。,成员,作用,Create(),CreateSubdirectory(),按照路径名建立一个目录(或者一组子目录),Delete(),删除一个目录和它的所有内容,GetDirectories(),返回一个表示当前目录中所有子目录的字符串数组,GetFiles(),返回,FileInfo,类型的数组,表示指定目录下的一组文件,MoveTo(),将一个目录及其内容移动到一个新的路径,Parent,获取指定路径的父目录,Root,获取路径的根部分,3.2.5,System.IO.Directory,在System.IO命名空间还提供了Directory类,它的成员实现了DirectoryInfo类中的大部分功能。Directory成员返回的是字符串类型而不是强类型的FileInfo和DirectoryInfo。对于Directory类的成员就不做详细介绍,读者可以参考DirectoryInfo类的成员使用方法。,3.2.6,System.IO.FileInfo,FileInfo,类,它可以获取文件的创建时间、大小等信息,在,FileInfo,类中提供了许多成员,以方便开发人员来操作硬盘上的文件,,FileInfo,类中的成员如表所示。,成员,描述,CopyTo(),将现有文件复制到新文件,Create(),创建一个新的文件并且返回一个,FileStream,类型(后面会讨论),通过它来和新创建的文件进行交互,CreateText(),创建一个写入新文本文件的,StreamWriter,类型,Delete(),删除,FileInfo,实例绑定的文件,Directory,获取父目录的实例,DirectoryName,获取父目录的完整路径,Length,获取当前文件或目录的大小,MoveTo(),将指定文件移到新位置,并提供指定新文件名的选项,Name,获取文件名,Open(),用各种读,/,写访问权限和共享特权打开文件,OpenRead(),创建只读,FileStream,OpenWrite(),创建只写,FileStream,类型,3.2.7,System.IO.File,File,类提供了,AppendText(),、,Create(),、,CreateText(),、,Open(),、,OpenRead(),、,OpenWrite(),和,OpenText(),方法。在大多数情况下,,File,类和,FileInfo,类能互换使用。下表列出了,File,类中的常用方法。,方法,描述,ReadAllBytes(),打开指定文件,以字节数组形式返回二进制数据,然后关闭文件,ReadAllLines(),打开指定文件,以字符串数组形式返回字符数据,然后关闭文件,ReadAllText(),打开指定文件,以,System.String,形式返回字符数据,然后关闭文件,WriteAllBytes(),打开指定文件,写入字节数组,然后关闭文件,WriteAllLines(),打开指定文件,写入字符串数组,然后关闭文件,WriteAllText(),打开指定文件,写入字符数据,然后关闭文件,3.2.8,System.IO.FileStream,在,System.IO,命名空间提供了,FileStream,类,这是一个相当原始的流,它只能读取或写入一个字节或字节数组。而且此流还提供了,Stream,包装类,它们可以更方便地处理文本数据和,.NET,类型。因为,,FileStream,只能处理原始字节,在使用时必须把,System.String,编码成相应的字节数组。但是,System.Text,命名空间定义了一个,Encoding,类型,它提供了一些成员,来实现在字符串和字节数组之间的编码,/,解码操作。,第,4,章,ASP.NET Web,服务器控件,ASP.NET Web 窗体是一项基于服务器的技术,即所有代码都是在服务器上运行的。客户端是用户的浏览器。ASP.NET Web 窗体页框架是可以在服务器上用于动态生成 Web 页的可缩放公共语言运行库编程模型。本章主要讲解ASP.NET Web 窗体的基本特性,以及创建ASP.NET 3.5 Web 窗体常用的服务器控件的使用方法。,章节内容,4.1ASP.NET Web,窗体,4.2,服务器控件概述,4.3,标准控件,4.4,高级控件,4.1 ASP.NET Web,窗体,表单的基本概念,HTML,表单(,form,)是传统服务器端与浏览器端实现交互的重要手段。,表单是网页上的一个特定区域。,回发和往返行程,4.1 ASP.NET Web,窗体,页面生存期,ASP.NET,页面声明周期通常情况下会经历以下几个阶段。,开始,:在用户访问页面时,页面就进入了开始阶段。在该阶段,页面将确定请求是发回请求还是新的客户端请求,并设置,IsPostBack 属性。,初始化:在页面开始页面访问之后,会初始化页面属性以及页面中的服务器控件等内容。,加载:页面加载控件。,验证:调用所有的验证程序控件的,Vailidate,方法,来设置各个验证程序控件和页的属性。,回发事件:在回发事件中,页面会调用处理事件,对数据进行相应的处理并回发给客户端。,呈现:获取服务器端回发的数据,呈现在客户端浏览器中,供用户浏览。,卸载:完全呈现页面后,将页面发送到客户端并准备丢弃时,将调用卸载。,4.2,服务器控件概述,服务器控件的定义,Web服务器控件是ASP.NET应用程序中最常使用的控件,Web服务器控件位于System.Web.UI.WebControls命名空间中。所有的Web服务器控件都从WebControl基类派生,与HTML服务器控件相比,Web控件提供一个相对抽象的、一致的编程模型。,服务器控件分类,HTML,服务器控件,ASP.NET,标准服务器控件,自定义服务器控件,4.2,服务器控件概述,服务器控件的属性,用形式属性,连字符形式属性,内部嵌套形式属性,服务器控件的事件,内部事件集,Web服务器控件中的回发和非回发事件,4.2.1,服务器控件的定义,Web服务器控件是ASP.NET应用程序中最常使用的控件,Web服务器控件位于System.Web.UI.WebControls命名空间中。所有的Web服务器控件都从WebControl基类派生,与HTML服务器控件相比,Web控件提供一个相对抽象的、一致的编程模型。相对抽象是指Web服务器控件不必像HTML控件一样必须一一对应一个HTML标签,事实上很多复杂的Web服务器控件所输出的客户端代码非常复杂。Web服务器控件也具有一些独有的特性,如自动回发特性等。,4.2.2,服务器控件的分类,HTML服务器控件,由,System.Web.UI.HtmlControls,类实现,对应传统的,HTML,元素,添加相应的,ID,属性和,runat=server,属性可以使之成为运行在服务器端的控件,具备相应的属性、事件和方法,Web,服务器控件,由System.Web.UI.WebControls类实现,没有和HTML元素一一对应,4.2.2,服务器控件的分类,在下述情况可以选择使用HTML服务器控件,喜欢与,HTML,相似的对象模型,正在使用现存的,HTML,页工作,并且希望快速地添加,Web,窗体功能,控件既需要运行客户端脚本也需要运行服务器端脚本,由于带宽受到限制,所以需要进行大量的客户端处理来减少带宽的开销,在下述情况可以选择使用Web服务器控件,基于控件的事件驱动模式,创建的,Web,页可以通过多种浏览器浏览,只有,Web,服务器控件才能实现特定功能的场合,由于带宽不受限制,所以,Web,服务器控件的,“,请求,-,响应,”,周期不会引起带宽问题,4.2.3,服务器控件的创建,通常对于服务器控件的创建分为两种情况:一是使用IDE添加控件;二是动态创建控件,。,通过编程方式将控件添加到,Web,网页的方法如下。,(,1,)创建控件的示例并设置其属性,示例代码如下。,Label lb=new Label();,lb.Text=Sample Label;,(,2,)将新控件添加到页上已有容器的,Controls,集合中,示例代码如下。,Panel Panel1=new Panel();,Panel1.Controls.Add(myLabel);,4.2.4,控件属性和事件,控件属性,ASP.NET,服务器控件具有大量属性,这些属性是绝大多数服务器控件都具备的,共分为,5,大类:布局、数据、外观、行为和杂项。,1,常用形式属性,这是一种最为常见的属性标记形式。这种形式的属性标记位于控件内部,与,runat=server,一起定义,代码如下。,2,连字符形式属性,这种标记形式的属性位于控件标记内部,带有连字符是这种形式属性的最大特征。,4.2.4,控件属性和事件,控件属性,3,内部嵌套形式属性,凡是具有这种标记形式的属性均为复杂属性。它是以嵌套形式在控件标记内部声明某属性集的子属性,代码如下。,1,2,3,4,4.2.4,控件属性和事件,控件事件,内部事件集,因为大多数,Web,窗体事件要求到服务器的往返过程以进行处理,所以这些事件可能影响窗体的性能。因此,服务器控件仅提供一组有限的内部事件。,Web,服务器控件中的回发和非回发事件,在,Web,服务器控件中,某些事件(通常是,Click,事件)会导致将窗体回发到服务器。可以指定控件的,AutoPostBack,属性,进行页面实时回发功能。,4.3,标准控件,用于文本输入和显示的标准控件,TextBox控件,Label控件,按钮控件,Button,控件,LinkButton,控件,ImageButton,控件,用于选择的列表控件,DropDownList,控件,CheckBoxList,控件,RadioButtonList,控件,HyperLink,控件,Table,控件,4.3.1,用于文本输入和显示的标准控件,在ASP.NET 3.5中提供了一些用于开发人机交互的窗口式控件,使界面更加直观,增加客户的体验度。用来获取用户输入的控件一般叫做文本输入控件,而经过计算机处理后的数据呈现在用户面前是通过显示控件来实现的。,4.3.1,文本输
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服