All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
asp.net2.0内置Request对象的属性
PHP5连接Mysql5的认证协议问题_php资料_编程技术
PHP汉字区位码相互转换源代码_[PHP教程]
如何用VB存取SQL,Server中的图像数据_[Asp.Net教程]
sql2005,用户sa,登录失败,该用户与可信SQL,Server连接无关联_mssql学习_编程技术
正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
技巧:PHP关于中文汉字替换与模式匹配的问题_php资料_编程技术
不用改文件名,防止IIS文件被下载方法_[Asp.Net教程]
用PHP实现文件上传_php资料_编程技术
ASP.NET实例:增强,GridView,控件的功能_[Asp.Net教程]
Reading number is top 10 pictures
BingBingFan apple dew point photo gallery4
Send some Valentine's day cartoon
Compared GDP and per capita income in China for 40 years
人美胸美腿更美3
yy365网站上的美女3
Small QiShu -- ShuangShuangPan1
遇到插队的怎么办?
王艳写真温柔如水1
沙漠里的美女
Look for from human art net, is good--2
Download software ranking
Sora aoi's film--cangkong_Blue.Sky
Tram sex maniac 2 (H) rar bag3
Sora aoi, the maid, students' uniforms
Tram sex maniac 2 (H) rar bag10
apache-tomcat-6.0.33
jBuilder2006
Ashlynn Video4
WebService在.NET中的实战应用教学视频 → 第2集
Unix video tutorial15
asp.net技术内幕
delv published in(发表于) 2014/1/24 9:15:57 Edit(编辑)
总结:asp.net页面间数据传递_[Asp.Net教程]

总结:asp.net页面间数据传递_[Asp.Net教程]

总结:asp.net页面间数据传递_[Asp.Net教程]

1. Get(即使用QueryString显式传递)


方式:在url后面跟参数。


特点:简单、方便。


缺点:字符串长度最长为255个字符;数据泄漏在url中。


适用数据:简单、少量、关键的数据。


适用范围:传递给自己、传递给另一个目标页面;常用于2个页面间传递数据。


用法:例如:url后加?UserID=…,跳转到目标页面,目标页面在伺服端可用Request.QueryString["InputText"]获取其指定参数值。具体可参考打印书本P261



2. Post


方式:通用的方式。利用form提交。


特点:最常用的方法。常用技巧是把隐秘的数据存在隐藏域中由form提交。


适用数据:大量数据,包括文件上传。


适用范围:同Get方法


用法:在客户端form指定action目标后submit、在asp.net的伺服端中使用server.Transfer(url)提交;在伺服端中用Request.Form["FormFieldID"]获取。



3. 页面对象的属性


方式:asp.net特有方式 。利用HttpContext获取发请求的页面的信息。


特点:可以直接存储对象。


缺点:注意强制转换的类型要正确。


适用数据:各种数据。


适用范围:页面之间传递复杂数据。


用法:获取Context.Handler将其转换为发请求的页面的实例,随后就可以轻松访问其form中的字段、甚至属性。其中的Context是指HttpContext对象,Handler是其属性,Context.Handler的意思可以理解为创建源页类的实例变量,而得到此实例之后,就可以直接访问其中的属性和Public方法了。可看下打印书本P263的具体使用。



4. cookie


方式:将数据存在客户端的经典方法。


缺点:安全性低、受客户端设置限制、一个站点仅存20个cookie,每个容量4096字节。


有效期:自定义或被用户清除


适用数据:用户的会话数据(一般是用户名,用户的个性化设置信息等)


适用范围:单个用户、整个站点所有页面


用法:引用Request.Cookies(读取信息)、Response.Cookies(写入信息)、或用HttpCookieCollection直接创建Cookie对象。具体可见打印书P252



5. Session


方式:将用户数据存储在伺服端。


特点:asp.net中可以设置session的存储方式、位置、SessionID的保存是否依赖cookie。


可以直接存储对象。


缺点:asp.net中有失效的隐患


有效期:用户活动时间+自定义延迟。


适用数据:用户的特有信息。


适用范围:单个用户、整个站点所有页面。


用法:
复制C#代码保存代码Session["CollectionName"] = value/object;



6. Cache


方式:将用户数据存储在伺服端数据缓存中。


特点:可以大大提高效率。 可以直接存储对象。


缺点:数据更新不及时。


有效期:应用程序生命周期或自定义。


适用数据:所有页面、所有用户都可以共享的数据。


用法:
复制C#代码保存代码Cache["CollectionName"] = value|object;



7. Appliction


方式: 将数据存储于此,相当于全局变量。


特点:可以直接存储对象。整个站点的共享数据。


有效期:应用程序生命周期。


适用数据:所有页面、所有用户共享的数据。


用法:
复制C#代码保存代码Appliction["CollectionName"] = value|object;



8. ViewState


方式:asp.net特有机制,用来恢复页面状态。


特点:将页面各控件及其所存数据序列化存在name为_ViewState的隐藏域中。


缺点:存在HTML中,安全性较低。可以设置加密和验证,但数据量会大增、效率有影响。


适用数据:页面PostBack需要保存的数据,数据太大会影响页面发送效率。


适用范围:页面自身数据保存。


用法:
复制C#代码保存代码ViewState["CollectionName"] = value;



9. Static


方式: 将数据存于静态变量中。


特点:利于提高效率。


缺点:若用不好会致使用户或页面间数据紊乱,造成极大的隐患。建议只赋值一次,绝对禁止为单个用户而更改此值。


适用数据:所有用户共享的数据。


适用范围:此类所有的页面实例。


用法:在class中声明静态变量。


整理:


页面自身保存数据可用的有ViewState,static变量。


页面之间传递数据常用get,post,HttpContext,当然可以变通一下用于自身数据保存。


单用户的所有页面数据共享常用session,cookie,当然也可以应用在以上两种情况。


整个应用程序(所有用户所用页面)的数据共享常用Appliction,cache,static变量。



总结:


当然可以变通下灵活应用来解决问题,但是要选择合适的,常见到滥用Get和Session。


建议在用Request的时候要指明所取的集合,比如Get方法传来的参数从QueryString集合取,Post的从Form取,cookie从Cookies里取。虽然用Request[]集合,以上几种都可以取到,但是却造成性能上的浪费,本来直接在Form集合中,却遍历了QueryString,Form,Cookies等集合才取出来。


ps:在计算机的世界里,凡是提供服务的一方我们称为伺服端(server),而接受服务的另一方我们称作客户端(client)。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.