ASP.NET程序设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李德奇 第01讲 ASP.NET程序特性

上传人:E**** 文档编号:89351796 上传时间:2019-05-23 格式:PPT 页数:24 大小:364KB
返回 下载 相关 举报
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第01讲 ASP.NET程序特性_第1页
第1页 / 共24页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第01讲 ASP.NET程序特性_第2页
第2页 / 共24页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第01讲 ASP.NET程序特性_第3页
第3页 / 共24页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第01讲 ASP.NET程序特性_第4页
第4页 / 共24页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第01讲 ASP.NET程序特性_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《ASP.NET程序设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李德奇 第01讲 ASP.NET程序特性》由会员分享,可在线阅读,更多相关《ASP.NET程序设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李德奇 第01讲 ASP.NET程序特性(24页珍藏版)》请在金锄头文库上搜索。

1、第一讲 ASP.NET程序特性,教学内容 一、Web Form网页的构成 二、ASP.NET程序的处理过程 三、ASP.NET事件及其处理程序 四、Page 类的常用属性 五、Page 类的常用方法 六、Page 类的常用事件,教学目标, 了解Web Form网页的构成; 理解ASP.NET程序的处理过程; 理解网页和控件的事件; 掌握事件处理程序的编写方法; 了解Page类。,一、Web Form网页 (1/3),(一) Web Form网页的构成 Web Form网页被分割成两部分:页面的可视化组件和用户接口逻辑 (二) 可视化页面 每一个Web Form都有一个可视化的页面,在设计视图中

2、,设计者可以从工具箱中向这个页面上拖入各种控件以组成用户界面,并且可以使用属性窗口为这些控件设置属性(如外观等)。 在Web Form的设计状态,VS.NET提供两种视图:设计视图与HTML视图。设计视图以图形方式提供页面,设计视图与页面运行后的效果是一致的。HTML视图以HTML标记来表示页面,由一系列的HTML标记组成。,(三) 后台代码 ASP.NET采用所谓的Code-Behind技术组织程序逻辑,使程序逻辑从网页的表现部分中分离出来。建议将处理程序逻辑的 C#代码从HTML标记中分离出来,使程序逻辑更加清晰。 (四) 网页文件 一个Web Form网页一般由两个文件保存:.aspx文

3、件保存网页的可视部分;.aspx.cs保存用C#写成的后台代码。当然也可以将处理代码直接写在.aspx文件中,那样就成了单文件网页,对于复杂的网页,不提倡这样做。,一、Web Form网页 (2/3),一、Web Form网页 (3/3),(五) 项目文件集合,二、ASP.NET程序的处理过程(1/4),ASP.NET程序被安装和运行在Web服务器上,当客户端对服务器端发出请求后,在IIS的管理之下,页面被提交到服务器端,服务器端程序生成页面的HTML代码并发送到客户端,浏览器解释HTML并呈现给用户。 用户在页面的浏览期间,若由于其操作引发事件,事件被提交到服务器,假如撰写了该事件的处理程序

4、,程序段被调用并重新生成页面,最后将新生成的页面发回到客户端的浏览器。每个页面被.NET Frameworker编译成Page对象,并缓存在服务器内存中。每个页面的生命周期包括以下几个阶段。,(一)页面构架初始化 在此期间,网页的Page_Init事件被引发,且网页与控件的ViewState被回存。在ViewState中以“键/值对”的方式保存网页的状态信息。 (二)用户代码初始化 首先引发网页的Page_load事件,读取与回存先前所储存的数据。 使用Page.IsPostBack属性值检查此网页是否第一次处理,若网页是第一次被处理,则运行数据绑定;如果是后续的环回,则回存控件的数据值,以便

5、还原至先前客户端请求所储存的阶段,并读取与更新控件的属性。,二、ASP.NET程序的处理过程(2/4),(三)事件回传 页面若有提交请求发生(由Button、LinkButton和ImageButton等控件的Click事件引发),调用验证控件的Validate方法,对所要验证的Web服务器控件内的数据进行验证操作。若所有验证控件全部通过验证,则提交请求被发送,否则提交请求不被发送,并在网页给出错误信息。 若有其他控件发生事件,需要检查该控件的AutoPostBack属性,其值为false(默认值)时,事件信息不被发送,其值为true时将事件信息发送到服务器。 (四)事件处理 若服务器收到事件

6、信息,则去查找为该事件编写的事件处理代码。事件处理代码一般会去修改数据或控件,并重新回存页面的ViewState。,二、ASP.NET程序的处理过程(3/4),(五)页面返回 在这一阶段会触发Render事件,在Render事件中构建一个HtmlTextWrite对象,用它来为控件重新产生HTML代码。然后新的网页HTML代码被发送到客户端被浏览器访问,这一事件回传事件处理-页面返回的过程称为环回。 (六)清理 此时网页已完成转译并已准备好要被移除,并将引发Page_Unload事件。通常需要在Dispose事件处理程序中完成一些最后的状态还原与清理工作,例如关闭文件,关闭数据库连接,移除对象

7、等。对于一些非常耗用系统资源的项目必须在此关闭,否则它们会一直保持打开状态直到下一次的垃圾回收进程发生为止。这一点对于负荷非常大的服务器非常重要。,二、ASP.NET程序的处理过程(4/4),三、ASP.NET程序的事件(1/6),事件是对象发送的消息,以发出信号通知操作的发生。ASP.NET程序的事件有服务器端事件与客户端事件的区分,服务器端事件发生在服务器端,在服务器端处理,客户端事件发生在客户端,需要在客户端经过检查确认后回传至服务器端,处理也在服务器端进行。 由于ASP.NET程序的事件具有以上特点,因此Web Form服务器控件的事件较Windows窗体控件的事件少得多。在有限的事件

8、中,ASP.NET还采取了一些措施来减少事件的回传,那就是实行客户端验证和检查控件的AutoPostBack属性,若客户端验证未能获得通过或者控件的AutoPostBack属性为false,则回传不会发生。,(一)内部事件集 由于大多数的Web Form事件需要环回于服务器来进行处理,从程序运行的效率出发,服务器控件提供了一组有限的事件集,对于客户端事件,仅限于少量的鼠标事件。客户端事件对于按钮类的Web服务器控件而言,表现为onclick,当在控件上单击时发生;对于其他控件,通常表现为onchanged,当用户改变控件中的输入或选择时发生。 减少事件集中的事件有效地减轻了网络的负担,但降低了

9、编程的灵活性。有些想法可以通过编写JavaScript客户端脚本来实现。,三、ASP.NET程序的事件(2/6),(二)回传与非回传事件 Web服务器控件的客户端事件中,有些事件是能够立即回传的,这样的事件称为回传事件。 有些Web服务器控件的客户端事件是不会立即回传的,它们会被控件缓存起来以等待下一次提交,这样的事件称为非回传事件。 大多数控件事件是否立即回传,还依赖于控件的AutoPostBack属性值。该值为true时回传,否则不回传。AutoPostBack属性的默认值为false,只有当你为控件的事件编写了事件处理程序时才需要将该属性值改为true。倘若你未给控件编写事件处理程序代码

10、,将AutoPostBack属性设置为true致使事件信息徒劳往返于客户端与服务器之间的。 Button类控件没有AutoPostBack属性,它的Click事件总是要被提交的,因为你总是会为它的Click事件编写程序代码,否则你是不会使用这个控件的。,三、ASP.NET程序的事件(3/6),(三)反升事件 在DataGrid、DataList和Repeater等Wen服务器控件中,可以加入一些子控件,这些子控件本身也能够引发事件。如DataGrid控件中可以加入若干个按钮列,这些按钮是可以引发Click事件的。 事实上,当这些按钮被单击时,并不会独自引发Click事件,这些嵌套控件的事件会被

11、反升,亦即这个事件会被传送至容器DataGrid。接着容器控件会引发一个称为ItemCommand的通用事件,该事件的处理程序会通过参数接受一些信息,以便判断到底是哪个子控件引发的原始事件。利用这个机制,可以不必为每个子控件编写事件处理程序,在容器控件的ItemCommand事件中统一处理就行了。,三、ASP.NET程序的事件(4/6),(四)事件处理程序 若想利用某个事件完成特定的功能,需要为这个事件编写事件处理程序代码。右击控件,单击【属性】,在属性窗口上按下闪电标记 ,会在属性窗口内列出控件的所有可供编程的事件。,在需要编写处理程序的事件名上单击,工作区转换到后台代码窗口,光标停留在对应

12、的事件处理程序段内,可以开始输入程序代码了。,三、ASP.NET程序的事件(5/6),大多数事件处理程序的格式是: private void objectName_Event(object sender, System.EventArgs e) /在此加入事件处理程序代码 事件处理程序名字为objectName_Event,其中objectName是当前控件名,Event是事件名。 每个事件处理程序都包含两个参数,object sender参数,传递的是一个对对象的引用,该对象引发了该事件。System.EventArgs e参数,包含了关于事件的有用信息。特定的事件传送特定的EventArg

13、s类对象的信息,这些信息由参数e传入事件处理程序之中。参数e传入信息的条目和含义,可以在程序行中键入“e.”,立即就有一个上下文菜单跟随,从中可以了解所有信息。,三、ASP.NET程序的事件(6/6),四、Page 类的常用属性(1/5),ASP.NET的每个Web Form都是一个类,如果是第一个网页,通常默认的类名为WebForm1,在.cs文件中,这个网页类的声明形式是: public class WebForm1 : System.Web.UI.Page /网页类的成员定义 这个事实在.aspx文件中以 Page前置处理器指令Inherits属性来指明类文件是自哪一个类派生出来的。,P

14、age类带有很多属性,编程时常使用的有: 1. IsPostBack属性 IsPostBack属性指明网页是否回传的,它的数据类型为bool。当为网页初始化时,我们一般将代码写在Page_Laod事件中,这时往往需要判明网页是第一次生成还是回传的。只在网页第一次生成时才需要执行的代码一定要写在IsPostBack属性为false的语句块中,例如数据绑定语句。多数情况下,在Page_Load事件中见到的代码是下面的格式。 private void Page_Load(object sender, System.EventArgs e) if(!IsPostBack) /只在网页第一次生成时执行的

15、代码 ,四、Page 类的常用属性(2/5),2.Controls属性 Controls属性代表了网页中控件的集合,它本身还带有一些属性和方法,例如它的Count属性标明了集合中控件的个数,Add方法可以向集合中加入控件。我们通常也利用Controls属性来轮询网页中的所有控件。 以上两个属性是在程序代码中经常使用的,还有一些对网页外观进行设置的属性必须在网页的设计阶段在属性窗口进行指定,它们是: 3.pageLayout属性 pageLayout属性确定网页的布局形式,可指定为GridLayout或FlowLayout,分别代表网格布局和流布局。,四、Page 类的常用属性(3/5),4.b

16、gColor属性 bgColor属性用来指定网页的背景颜色。ASP.NET中通常用#xxxxxx的形式表示颜色,#后带有6位16进制数,每2位依次代表红、绿、蓝的成分,例如#ffffff代表白色,而#000000代表黑色等。 5.background属性 background属性用来指定网页的背景图片。通过单击background属性栏内的浏览按钮选择图片或直接输入图片的URL。 注意:最好将网站中使用的图片资源集中在一个或几个文件夹中,并且放在当前项目的文件夹内,这样只要在background属性栏内输入其相对路径即可。,四、Page 类的常用属性(4/5),6.text属性 text属性用来指定网页内文本的颜色,其设置方法同bgColor属性。 7.title属性 title属性代表网页的标题,程序运行后显示在浏览器的标题栏内。 在属性窗口设置以上属性时,请在属性窗口的目标下拉框内将目标指定到“DOCUMENT”。,四、Page 类的常用属性(5/5),五、Page 类的常用方法,Page类带有很多有用的方法,调

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号