第08章 Web应用程序开发.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:73 大小:337KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第08章 Web应用程序开发.ppt

第08章Web应用程序开发.ppt

预览

免费试读已结束,剩余 63 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第八章ASP.NETWeb应用程序开发8.1Response与Request对象二、Request对象Request对象用于获取客户端的信息,该对象包含的信息非常多。例:使用Request对象显示客户信息。privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面Response.Write("服务器端应用程序所在虚拟路径为:"+Request.ApplicationPath+"<br>");Response.Write("当前客户使用的操作系统为:"+Request.Browser.Platform+"<br>");Response.Write("当前客户使用的浏览器为:"+Request.Browser.Type+"."+Request.Browser.MinorVersion+"<br>");Response.Write("当前客户的IP地址为:"+Request.UserHostAddress+"<br>");}一、Application对象1.默认情况下,一个虚拟目录下的所有ASP.NET文件构成一个Web应用程序。2.使用Application对象就相当于使用全局变量。3.Application对象是同一个虚拟目录下的所有.aspx文件共有的,所以对其进行操作时,需要先进行锁定,操作完成后再解除锁定。例如:Application.Lock();Application["counter"]=(int)Application["counter"]+1;Application.UnLock();二、Session对象如何区分不同的浏览器客户呢?可以通过Session对象实现,当不同的浏览器客户访问服务器应用程序时,服务器会分别为其分配一段内存空间用于保存不同用户的数据信息,即每一个客户都有自己的Session。定义与使用Session的方法也很简单。例如:Session["online"]=true;8.3理解Global.asax使用Web.config让每一个页面都具有相同的布局,或者自己定义一些具有固定画面的控件,这时就需要使用Web用户控件。Web用户控件的文件扩展名为.ascx,使用Web用户控件使您能够很容易地在多个ASP.NETWeb应用程序之间划分和重复使用公共用户界面(UI)功能。与Web窗体页一样,用户控件也是在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。但与Web窗体页不同的是,用户控件必须包括在Web窗体页内才能使用。举例说明:(1)创建一个ASP.NETWeb应用程序,从工具箱中随便向窗体拖放一些控件。(2)选择“解决方案资源管理器”鼠标右击项目名“添加”“添加Web用户控件”,使用默认文件名WebUserControl1.ascx。(3)向WebUserControl1.ascx设计窗体中拖放一个HTMLGridlayoutPanel控件,设置边框属性为双线,调整为适当大小,然后向HTMLGridlayoutPanel内拖放一些控件。(4)切换到WebForm1.aspx设计窗体,将WebUserControl1.ascx从解决方案资源管理器中拖放到设计窗体内。(5)运行,观察结果。原理:对A站点来说,第一次启动应用程序应该是第一个人访问这个站点,这时可以利用Application_Start事件将计数器清零。然后利用Session_Start事件将计数器加1,如果这个人在某个规定的时间内还没有再访问A站点,就认为此人已经离线了。举例说明(1)创建一个ASP.NETWeb应用程序,向设计窗体拖放一个Label控件。(2)打开Global.asax,在下列事件中加入代码:protectedvoidApplication_Start(Objectsender,EventArgse){Application["counter"]=0;}protectedvoidSession_Start(Objectsender,EventArgse){Application.Lock();Application["counter"]=(int)Application["counter"]+1;Application.UnLock();}protectedvoidSession_End(Objectsender,EventArgse){Application.Lock();Application["counter"]=(int)