C#Web编程-内置对象.ppt

上传人:牧羊曲112 文档编号:5416934 上传时间:2023-07-05 格式:PPT 页数:89 大小:1.87MB
返回 下载 相关 举报
C#Web编程-内置对象.ppt_第1页
第1页 / 共89页
C#Web编程-内置对象.ppt_第2页
第2页 / 共89页
C#Web编程-内置对象.ppt_第3页
第3页 / 共89页
C#Web编程-内置对象.ppt_第4页
第4页 / 共89页
C#Web编程-内置对象.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《C#Web编程-内置对象.ppt》由会员分享,可在线阅读,更多相关《C#Web编程-内置对象.ppt(89页珍藏版)》请在三一办公上搜索。

1、ASP.NET程序设计,C#Web编程,第5讲 内部对象,5.1 ASP.NET内部对象概述5.2 Page对象5.3 Request对象5.4 Response对象5.5 HttpCookie对象5.6 Session对象 5.7 Application对象5.8 Server对象5.9 Mail对象5.10 viewstate对象,讲解提纲,利用Request对象的QueryString获取方法获取标识在URL后面的信息 利用Request对象的ServerVariables获取方法获取客户端IP地址等环境变量 利用Response对象的Write方法输出信息及它的省略用法 掌握Respo

2、nse对象的Redirect方法 利用Response对象的Cookies方法设置Cookies的值,利用Request对象的Cookies获取方法获取Cookies的值。利用Session对象保存信息 利用Application对象保存信息 掌握Server对象的的HTMLencode、Mappath和Execute方法掌握发送E-mail的一般方法,本章要点,对象其实就是可以重用的代码片断,类是对象的定义,对象是类的实例。对象一般有属性、方法、事件。ASP.NET能够利用成千上万的内置对象。本质上前面讲的内置函数、Web控件也都可以看作内置对象,都是类实现的。本章就讲解其中常用的几个内部对

3、象,包括Page、Request、Response、HttpCookie、Session、Application、Server、Mail,5.1 ASP.NET内部对象概述,内部对象和其它部分的关系,内部函数,.NET类库,服务器控件,内部对象,由类实现,命名空间System.Web.UI 属性:IsPostBackIsValid方法:DataBind(数据绑定)事件:Load(页面装载),5.2 Page对象,IsPostBack示例,5-1.aspx,在第3章讲解了如何获取客户填写在表单中的信息,本节利用Request对象还可以获取更多的信息。,5.3 Request对象,由类实现 命名空

4、间:System.Web数据集合(获取方法):QueryString、Form、Cookies、ServerVariables、ClientCertificate、Browser 方法:TotalBytes事件:BinaryRead,5.3.1 Request对象简介,QueryString可以获取标识在URL后面的所有返回的变量及其值。例如,当客户端送出如下的请求时,QueryString将会得到name与age两个变量的值。http:/temp.aspx?name=白芸&age=22后面可以有多个变量参数,参数之间用&连接。,5.3.2 使用QueryString数据集合,QueryStr

5、ing数据集合示例(1),4-2.aspx,QueryString数据集合示例(2),4-3.aspx,利用Request对象的ServerVariables数据集合可以方便地取得服务器端或客户端的环境变量信息,比如客户端的IP地址等等。语法:Request.ServerVariables(环境变量名称),5.3.3 ServerVariables数据集合,ServerVariables示例,4-4.aspx,如果客户端浏览器支持SSL3.0或PCT1协议,可以利用ClientCertificate数据集合取回客户端浏览器的身份验证信息。语法如下:Request.ClientCertifica

6、te(关键字)如果客户端浏览器未送出身份验证信息,或服务器端也未设置向客户端浏览器要求身份验证的命令,那么将返回空值。如果有,将返回相应的身份验证信息。,5.3.4 ClientCertificate数据集合,Request对象的Browser数据集合就可以方便地获取客户端浏览器特性,如类型、版本、是否支持背景音乐等。语法:Request.Browser(浏览器特性名称),4.3.5 Browser数据集合,Browser示例,4-5.aspx,利用该属性可以得到客户端提交数据的字节大小,语法如下:Request.TotalBytes,5.3.6 TotalBytes属性,前面讲的5种获取方法

7、都是直接获取数据,而此方法可以二进制方式获取客户端用Post方法提交的数据。语法如下:Request.BinaryRead(字节大小)说明:其中字节大小是用TotalBytes属性获得的响应数据的字节大小。,4.3.7 BinaryRead方法,在第3章中讲过利用Label标签控件向客户端输出信息。其实,也可以利用Response对象向客户端输出信息。而且,Response对象还有一些特殊功能,如重定向等。(注意,在ASP.NET中提倡利用控件输出信息。),5.4 Response对象,由类实现 命名空间:System.Web属性:Buffer、ContentType 方法:Write、Red

8、irect、End、Clear、Flush、BinaryWrite,5.4.1 Response对象简介,利用该方法就可以在客户端输出信息,效果和利用Label标签控件一样。语法:Response.Write(变量数据或字符串)例如:Response.Write(user_name&您好)user_name是一个变量,表示用户名Response.Write(现在是:&now()now()是时间函数Response.Write(业精于勤而荒于嬉)输出字符串,5.4.2 利用Write方法输出信息,Write方法示例,4-6.aspx,利用该方法还可以直接在HTML代码中动态输出信息,此时需要将语

9、句用括起来,例如:Write方法示例敬请提出宝贵意见)%此时,它还有一种省略方式,例如:Write方法示例 敬请提出宝贵意见%,Write方法的其它方式,使用Redirect方法就可以引导客户至另一个页面。语法如下:Response.Redirect(网址变量或字符串)例如:Response.Redirect(http:/)引导至中国教育网 Response.Redirect(other.asp)引导至站内其他网页 theURL=http:/Response.Redirect(theURL)引导至变量表示的网址,5.4.3 使用Redirect方法引导客户端至另一个URL位置,Redirect

10、方法示例,4-7.aspx,5.4.4 使用End 方法终止ASP.NET程序,Test5_1.aspx,Buffer属性用来设置服务器端是否将页面先输出到缓冲区。它的取值为True或False,默认为True。语法:Response.Buffer=True|False使用Response.redirect时必须保证Buffer值为True。,5.4.5 关于Buffer属性,该方法用于输出二进制信息,它不进行任何字符转换,直接输出。其语法为:Response.BinaryWrite(变量或字符串)有时侯可能在数据库里保存了二进制信息,就可以用该方法输出了。例如:从数据库中显示图片的信息就要用

11、到该方法。,5.4.6 BinaryWrite方法,很多网站能够记住客户端的访问次数。要记住访问次数可以采取多种方法,其中利用Cookie是一种可以在客户端保存信息的方法。ASP.NET提供了HttpCookie对象来处理Cookie,该对象是由类实现的。,5.5 HttpCookie对象,Cookie俗称甜饼,可以在客户端长期保存信息。它是服务器端发送到客户端浏览器的文本串句柄,保存在客户的硬盘上。HttpCookie对象其实是:利用Response对象的Cookies方法设置Cookies;利用Request对象的Cookies获取方法来获取Cookies的值。,5.5.1 什么是Cook

12、ie,语法如下:Response.Cookies(“CookiesName”)(关键字)|.属性=字符串(1)设置不含关键字的CookieResponse.Cookies(user_name).Value=高航(2)设置含关键字的CookieResponse.Cookies(user)(name)=高航 Response.Cookies(user)(age)=22(3)设置Cookie的有效期Response.Cookies(user_name).Expires=#1/1/2008#,5.5.2 使用Response对象设置Cookie,语法如下:Request.Cookies(“Cookie

13、sName”)(关键字)|.属性(1)省略关键字的用法user_name=Request.Cookies(user_name).Value(2)有关键字的用法user_name=Request.Cookies(user)(name)age=Request.Cookies(user)(age)(3)判断Cookies关键字数目result=Request.Cookies(CookiesName).Haskeys,5.5.3 使用Request对象读取Cookie,5.5.4 Cookie综合示例,4-8.aspx,利用Session对象 可以方便记录客户的信息。,5.6 Session对象,由类

14、实现 命名空间System.Web属性SessionID、TimeOut方法Abandon事件Session_OnStartSession_OnEnd,5.6.1 Session对象简介,5.6.2 利用Session存储信息,4-10.aspx,4-9.aspx,5.6.3 利用Session存储数组信息,4-12.aspx,4-11.aspx,Session对象有它的有效期,默认为20分钟。客户端每新打开一个浏览器窗口,就会创建一个Session对象,如果超出20分钟没有和服务器端交互或者关闭了浏览器,则该Session对象就会自动结束。修改有效期语法如下:Session.Timeout=

15、整数(分钟)例如:Session.Timeout=90 将有效期改为90分钟,5.6.4 Timeout属性,Session对象到期后会自动清除,但到期前可以用Abandon方法强行清除。语法:Session.Abandon例如:Session(user_name)=萌萌Session.AbandonResponse.Write(Session(user_name)说明:先将前两句复制到一个文件中执行,然后再将第3句复制到另一个ASP.NET文件中执行。,5.6.5 Abandon方法,Session对象可以记载特定客户的信息,与此相反的是,Application对象可以记载所有客户信息。简而

16、言之,不同的客户必须访问不同的Session对象,但可以访问公共的Application对象。它的最典型的应用是聊天室。,5.7 Application对象,由类实现 方法:Lock Unlock 事件:Application _OnStartApplication _OnEnd,5.7.1 Application对象简介,语法:Application(Application名字)=变量、常量、字符串信息或表达式例如:Application.LockApplication(user_num)=user_num Application(“city”)=“南京”Application.Unlock

17、,5.7.2 利用Application存储信息,这是一个简单的聊天室,共分3个文件5-13.asp 框架页文件(省略不讲)5-14.asp 保存发言信息5-15.asp 读取发言信息,Application示例,5-14.asp 保存发言信息,5-14.aspx,5-15.asp 读取发言信息,4-15.aspx,和Session非常类似。存储:Dim user_name(2)As String user_name(0)=白芸user_name(1)=海霞Application.LockApplication(arry_user_name)=user_name Application.Unl

18、ock读取:Dim user_name()As String user_name=Application(arry_user_name)message.text=user_name(0)&您好&user_name(1)&您好,5.7.3 利用Application存储数组信息,Server对象是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务。,5.8 Server对象,由类实现命名空间:System.Web类:属性:ScriptTimeout方法:Execute、TransferHtmlEncode、UrlEncodeCreatObject,5.8.1 Serve

19、r对象简介,该属性用来规定脚本文件执行的最长时间,默认为90秒。主要是用来防止某些可能进入死循环的错误导致服务器过载问题。修改方法如下:Server.ScriptTimeout=300,4.8.2 ScriptTimeout属性,该方法可以用于创建组件、应用对象或脚本对象的实例。语法如下:Server.CreateObject(ActiveX Server组件),5.8.3 CreateObject方法,5.8.4 HTMLEncode方法,4-16.aspx,该方法用来转化字符串为URL编码。例子:Server.URLEncode(“a b”)结果:a+b,5.8.5 URLEncode方法

20、,可以将虚拟路径转化为物理路径。,5.8.6 MapPath方法,4-17.aspx,该方法用来停止执行当前网页,转到新的网页执行,执行完毕后返回原网页,继续执行Execute方法后面的语句。语法如下:Server.Execute(变量或字符串)该方法和Redirect方法的区别。(1)Redirect语句尽管是在服务器端运行,但重定向实际发生在客户端,而Execute方法的重定向实际发生在服务器端。(2)Redirect语句执行完新的网页后,并不返回原网页,而Execute方法却返回原页面,继续执行下面的语句。(3)Redirect语句并不能把一些环境变量传递过去,而Execute方法却可以

21、。(4)Redirect方法可以转向一个网页和其他网站,而Execute方法一般只能转到同一个应用程序的其他文件。,5.8.7 Execute方法,该方法和Execute方法非常相似,惟一的区别是执行完新的网页后,并不返回原网页,而是停止执行过程。语法如下:Server.Transfer(变量或字符串),5.8.8 Transfer方法,Execute方法示例,4-18.aspx,4-19.aspx,运行结果,利用该对象可以在线发送E-mail。,5.9 Mail对象,Mail对象由类库实现,它其实是由MailMessage、MailAttachment、SmtpMail三个类组成的。Mail

22、Message类用来设置E-mail的内容,如发信人地址、收信人地址等。MailAttachment类用来添加附件。SmtpMail类用来发送信件。,5.9.1 Mail对象简介,最简单的发送方式:Sub Page_Load(Sender As Object,E As EventArgs)SmtpMail.Send(,您好,祝一切顺利)End Sub说明:此时使用本机的发信服务器,要求在IIS中启动SMTP服务。,5.9.2 发送E-mail示例(1),5.9.2 发送E-mail示例(2),4-20.aspx,下面的示例比较完整,客户可以利用表单输入信件内容,并可以选择客户端的文件作为附件发

23、出。要注意,如果发送客户端的文件,首先要将该文件上传到服务器端,然后再发送。,5.9.3 发送E-mail示例二,发送E-mail表单部分,4-21.aspx,发送E-mail程序代码部分,4-21.aspx,ViewState是服务器控件状态保存的基础,它是一个Hidden字段,用IE查看 Html源码,找到一个名为_VIEWSTATE的Hidden字段,其中有一大堆乱七八糟的字符,这就是页面的ViewState。ViewState是ASP.NET中用来保存WEB控件回传时状态值一种机制.在WEB窗体(FORM)的设置为runat=“server”,这个窗体(FORM)会被附加一个隐藏的属性

24、_VIEWSTATE。_VIEWSTATE中存放了所有控件在ViewState中的状态值.ViewState是类Control中的一个域,其他所有控件通过继承Control来获得了ViewState功能.它的类型是system.Web.UI.StateBag,一个名称/值的对象集合当请求某个页面时,ASP.NET把所有控件的状态序列化成一个字符串,然后做为窗体的隐藏属性送到客户端.当客户端把页面回传时,ASP.NET分析回传的窗体属性,并赋给控件对应的值.当然这些全部是由ASP.NET负责的.,5.10 ViewState,如果要使用ViewState,则在ASPX页面中必须有一个服务器端窗体

25、标记().窗体字段是必需的,这样包含ViewState信息的隐藏字段才能回传给服务器.而且,该窗体还必须是服务器端的窗体,这样在服务器上执行该页面时,ASP.NET页面框架才能添加隐藏的字段.Page的EnableViewState属性值为true.控件的EnableViewState属性值为true.,使用ViewState的条件,1.当存在页面回传时,不需要维持控件的值就要把ViewState禁止.2.ViewState的索引是大小写敏感的.3.ViewState不是跨页面的.4.为了能保存在ViewState中,对象必须是可流化或者定义了TypeConverter.5.控件TextBox

26、的TextMode属性设置为Password时,它的状态将不会被保存在ViewState中,这应该是出于安全性的考虑.6.在页面没有回传或重定向或在回传中转到(transfer)其他页面时不要使用ViewState.7.在动态建立控件时要小心它的ViewState.8.当禁止一个程序的ViewState时,这个程序的所有页面的ViewState也被禁止了.9.只有当页面回传自身时ViewState才是持续的.设置ViewState ViewState可以在控件,页,程序,全局配置中设置.缺省情况下EnableViewState为true.如果要禁止所有页面ViewState功能,可以在程序配置

27、中把EnableViewState设为false.,使用ViewState注意的问题,HTML标签 测试页 2.HyperLink控件 这是最常见的一种转向方法;1)A 服务器端控件 属性NavigateUrl指定要跳转到的Url地址 2)NavigateUrl是可以在服务器端使用代码修改,这个区别于 3)由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl 4)代码示例 ok,5.11 页面跳转方法,3.Response.Redirect()方法 1)过程:发送一个Http响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求到服务器端。2)页

28、面跳转之后内部控件保存的所有信息丢失,当A跳转到B,B页面将不能访问A页面提交的数据信息。3)使用这个方法使用这个方法跳转后浏览器地址栏的Url信息改变 4)可以使用Session Cookies Application等对象进行页面间的数据传递 5)重定向操作发生在客户端,总共涉及到两次与Web服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护,5.11 页面跳转方法,4.Server.Transfer()方法

29、1)实现页面跳转的同时将页面的控制权进行移交 2)页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据 3)跳转之后浏览器地址栏的Url不变 4)这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转 速度快,只需要一次postback,但是它必须是在同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。,5.11 页面跳转方法,5.Server.Execute()方法 1)该方法允许当前页面执行同一个Web服务器上的另一个页面 2)页面执行完毕之后重新回到原始页面发出Server.Execute()的位置。3

30、)这种方式类似针对页面的一次函数调用,被请求的页面可以使用原始页面的表单数据和查询字符串集合 4)被调用页面的Page指令的EnableViewStateMac属性设置为False,5.11 页面跳转方法,6.Javascript实现跳转/以下方式直接跳转 window.location.href=hello.html;/以下方式定时跳转 setTimeout(javascript:location.href=hello.html,5000);,5.11 页面跳转方法,7.新页面显示1)Respose.Write(window.open(+url+););2)打开 3)打开 private v

31、oid button1_Click(object sender,EventArgs e)FrmRemoteVM fa=new FrmRemoteVM();fa.Show();,5.11 页面跳转方法,当需要把用户跳转到另一台服务器上的页面的时候使用redirect 当需要把用户跳转到非aspx页面时候,如html使用redirect 需要把查询字符串作为url一部分的时候保留传给服务器的时候,因为其他2种方法不能做到2次postback,把数据先带回服务器使用redirect 需要aspx页面间的转换(不涉及登录)使用transfer 当需要把aspx页面的输出结果插入到另一个aspx页面的时

32、候使用execute方法。如果要让用户来决定何时转换页面以及转到哪一个页面,超级链接最适合。如果要用程序来控制转换的目标,但转换的时机由用户决定,使用Web服务器的HyperLink控件,动态设置其NavigateUrl属性。如果要把用户连接到另一台服务器上的资源,使用Response.Redirect。如果要将查询字符串作为URL的一部分保留,使用Response.Redirect。如果要将执行流程转入同一Web服务器的另一个ASPX页面,应当使用Server.Transfer而不是Response.Redirect,因为Server.Transfer能够避免不必要的网络通信,从而获得更好的

33、性能和浏览效果。如果要捕获一个ASPX页面的输出结果,然后将结果插入另一个ASPX页面的特定位置,则使用Server.Execute。如果要确保HTML输出合法,请使用Response.Redirect,不要使用Server.Transfer或Server.Execute方法。,页面跳转小结,因为ASP.NET的页面表单提交到自身,完成回传的功能,所以默认情况下不能使用POST方式进行多页面传值1URL传值这是经典的传值方式,这种方法的使用非常简单,不过所传递的值是会显示在浏览器的地址栏上的,而且不能传递对象。所以这种方法一般用于传递的值少且安全性要求不高的情况下。在*.aspx页面开发中可以

34、使用超级链接文本进行传值,如以下代码所示。URL传值以上链接文本将页面跳转到GetValues.aspx页面,并且通过URL传递urlvalue1变量和urlvalue2变量,其值分别为intel和amd。在*.cs的服务器端方法中也可以调用HttpResponse对象的Redirect方法,将浏览器端重定向到新页面并通过URL传值,如以下代码所示。Response.Redirect(“/GetValues.aspx?urlvalue1=intel,5.12 页面之间数据传递,2.Session传值 这种方法将每份数据存储于服务器变量中,可以传递比较多的数据,并且安全性较高,所以常用于用户身份

35、的验证功能中。不过,Session变量如果存储过多的数据会消耗过多的服务器资源。其使用方法如以下代码所示。SessionSessionValue=“ATI”;/也可以用索引存储Session0=“ATI”;/在其他页面的服务器端方法中取值方式为:string str=SessionSessionValue.ToString();/也可以用索引获取string str=Session0.ToString();Session的可在应用程序的多个页面中以名称/值对的方式共享,直到浏览用户关闭自己的浏览器或者服务器Session超时(可设置,默认为20分钟)。,5.12 页面之间数据传递,3Cooki

36、e传值 Cookie是一种比较特殊的数据存储方式,它以文本文件的形式存在于浏览用户的磁盘中。很多登录系统就是利用Cookie实现用户自动登录。即用户登录一次的登录信息将被写入到用户电脑的Cookie文件中,下次登录时,网站自动读取该Cookie完成身份验证。通过Cookie传递数据虽然很方便,保存时间可以自由设置,但是安全性不高。ASP.NET中操作Cookie的主要类型位于System.Web命名空间下,分别为HttpCookie、HttpResponse以及HttpRequest。HttpCookie可建立和操作独立Cookie的安全类型,访问HttpResponse和HttpReques

37、t的Cookies属性可以获取HttpCookieCollection集合对象,以读取或添加HttpCookie对象。添加Cookie的方法如以下代码所示。,5.12 页面之间数据传递,/创建一个HttpCookie 对象,向构造函数传递名称值HttpCookie ck=new HttpCookie(CookieValue);/设置ck的“Value”属性(值)ck.Value=“Cookie值”;/设置ck的过期时间为当前时间加上360s,即6分钟后失效ck.Expires=DateTime.Now.AddSeconds(360);/设置ck有效范围(域限制)ck.Domain=;/将ck添

38、加至HttpCookieCollection对象Response.Cookies.Add(ck);/也可为以下方法添加/Response.AppendCookie(ck);,5.12 页面之间数据传递,读取用户的Cookie则更为简单,只需根据名称读取HttpCookieCollection集合对象中的子项即可,如以下代码所示。string str=Request.CookiesCookieValue.Value;除此之外,还可以利用一个HttpCookie存储多个名称/值对形式的Cookie信息,如以下代码所示。HttpCookie ck=new HttpCookie(CookieValue

39、);/以名称/值对的方式添加多个Cookie信息ck.Values.Add(value1,“one”);ck.Values.Add(value2,two);读取这些Cookie如以下代码所示。string str=值1:+Request.CookiesCookieValue.Valuesvalue1;str+=值2:+Request.CookiesCookieValue.Valuesvalue2;,5.12 页面之间数据传递,说明:多数浏览器支持最多可达4096字节的Cookie,如果要将为数不多的几个值保存到用户计算机上,浏览器还限制了每个站点可以在用户计算机上保存的Cookie数量。大多数

40、浏览器只允许每个站点保存20个Cookie。如果试图保存更多的Cookie,则最先保存的Cookie就会被删除。还有些浏览器会对来自所有站点的Cookie总数作出限制,这个限制通常为300个。用户可以设置自己的浏览器,拒绝接受Cookie,这种情况下只能结合其他的数据存储方式。,5.12 页面之间数据传递,4Server.Transfer传值首先通过定义一个public权限的属性,该属性可返回所需传递的值。然后在第两个页面中,使用Context.Handler属性来获得前一个页面实例对象的引用,即可通过访问自定义的属性获取需要的值。,5.12 页面之间数据传递,假设SendValues.asp

41、x页面为传递数据的页面,在的页面类中定义一个public属性,通过get直接返回需要传递的值(可为页面中某个服务器控件的属性值)。public string TransferDatagetreturn VIA;,5.12 页面之间数据传递,在的某个方法(如Button控件的Click事件处理方法)中调用HttpServerUtility对象的Transfer方法,如以下代码所示。Server.Transfer(/GetValues.aspx);假设GetValues.aspx为第二个页面,在的Page_Load方法中接收前一个页面所传递的值,方法如以下代码所示。/定义SendValues类型的

42、变量SV_PageSendValues SV_Page;/访问HttpContext对象的Handler属性,将值转换为SendValues类型,引用赋值给SV_PageSV_Page=(SendValues)Context.Handler;/SV_Page即为SendValues.aspx页面类的对象,直接获取其TransferData属性值string str=SV_Page.TransferData;,5.12 页面之间数据传递,5、Application传值用于保存所有用户共用的数据信息。在Asp.Net中类似的配置数据最好保存在Web.config文件中。如果使用Applicatio

43、n对象,一个需要考虑的问题是任何写操作都要在 Application_OnStart事件(global.asax)中完成。尽管使用Application.Lock和 Application.Unlock方法来避免写操作的同步,但是它串行化了Application对象的请求,当网站访问量大的时候会产生严重的性能 瓶颈。因此最好不要用此对象保存大的数据集。使用如下:/存放信息 ApplicationUserNameID=1000;/读取信息(接收页面)String NameID=ApplicationUserNameID.ToString();因为Application在一个应用程序域范围共享,所

44、有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。,5.12 页面之间数据传递,6.ViewState(页内数据值传递)常用于保存单个用户的状态信息,可以保存大量的数据但是过多使用会影响应用程序的性能。所有Web服务器控件都使用ViewStat在页面回发期间保存自 己的状态信息。每个控件都有自己的ViewState,不用时最好关闭以节省资源。通过给Page指令添加EnableViewState=false属性可以禁止整个页面的ViewState。用法和Session一样StateDropLoadIndex=0;注意:它保存在的信息只能在一个aspx文件中使用。出去后,这个就没有 用了,因为它的用途只是保存WEB控件的状态。,5.12 页面之间数据传递,5.12 本章小结,再 见,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号