http://www.cnblogs.com/makqiq/p/5882448.html

1.Querystring

Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL。如果要从A页面跳转到B页面,则可以用Request.Redirect(”B.aspx?name=参数值”);在页面跳转后用Ruquest[“参数名”]来接收参数。 Request.QueryString["name"]和Get     Request.Form["name"]和Post

这种方法使用简单,不用服务器资源。但是很容易被篡改且不能传递对象,只有在通过URL 请求页时查询字符串才是可行的。

2.ViewState

这是ASP.NET框架管理的一个隐藏窗体字段,使用时可用ViewState[“变量名”]=数值,取数据的时候用:变量 = ViewState[“变量名”];

ViewState在同一个页面多个请求的时候回自动保留值,不用服务器资源,用哈希格式存储;因ViewState存于页面中,当存储较大的值时,用户页面速度变慢。虽然是哈希值存储,但任然会出现被恶意篡改。

3.Cookie

Cookie使用 Response.Cookie[“键名”] = 值;取数据 变量 = Request.Cookie[“键名”]。

Cookie存储在客户端中,适合存储经常改动比较少的信息,不用服务器资源,可配置到期时间。但Cookie可能在客户端被禁用或删除,因为是明文的文本,不宜存储敏感的和未加密的数据。

4.Application

Application是一全局性的变量,所有用户共享一个Application变量。使用Application[“变量名”]= 值,取值:变量 = Application [“变量名”],清除它用:Application[“变量名”] = null;

Application可给程序中所有的页面访问,但如服务器发生故障数据就会丢失。

5.Session

Session的使用方法和Application一样。Session对象用来存储会话信息,不同客户端生成的Session不同,用于存在特定于单独会话的短息信息。易于实现,并且提供较高的安全性和持久性,可以应对IIS 重启和辅助进程重启,可在多进程中使用。缺点是耗用服务器端的内存。所以不要存储大量的信息。Session 最常见的用途是与Cookie 一起向Web 应用程序提供用户标识功能,Session也可用于不支持Cookie 的浏览器。但是,使用无Cookie 的Session 需要将会话标识符放置在查询字符串中,同样会遇到本文在查询字符串一节中陈述的安全问题。

6.Cache

Cache 具有强大的数据操作功能, 以键值对集合的形式存 储数据,可以通过指定关键字来插入和检索数据项。它的基于依 赖性的终止功能, 使它能够精确控制如何并及时更新和消除缓 存中的数据。它可以内部进行锁定管理,不需要象Application 对象那样使用Lock()和Unlock()方法进行串行化管理。缺点是使用 方法较复杂

7.Server.Transfer

不同情况下使用方法:

情况一:源页面可以跳转到目标页面,源页面传递数据给目标页面

使用查询字符串, 将少量信息从一页传输到另一页以及不 存在安全性问题时,是一个简单常用的方法;使用Server.Transfer方法,可传递表单数据或查询字符串到另一个页面,还可以 保存初始页的HttpContext, 当目标页和源页面在同一个服务器 时,可以用此方法。

情况二:页面传递数值给自身页面

即在对同一页的多个请求间保留值, ViewState 属性可提供具有基本安全性的功能。也可用隐藏域,存储少量回发到自身或另一页的页信息时使用,不考虑安全性问题时使用。

情况三:源页面传递数值给目标页面,而源页面不能直接连接到目标页面。

Application: 存储由多个用户使用且更改不频繁的全局信息,此时安全性不成为问题。不要存储大量的信息。Session:存储特定于单独会话的短期信息,并且需要较高的安全性。不要在会话状态中存储大量的信息。需要注意,将为应用程序中每一会话的生存期创建并维护会话状态对象。在支持许多用户的应用程序中, 这可能会占用大量服务器资源并影响可缩放性。

Cookie: 当您需要在客户端存储少量信息以及不存在安全性问题时使用。类的静态属性,方便传送多个数据。

Cache :对象用于单个用户、一组用户或所有的用户。可以为多个请求长时间、高效率的保存数据。上述几个方法, 不仅用于情况三, 前面两种情况都可以使用,只是没有必要时尽量少用,否则会造成资源浪费或增加程序的复杂性

asp.net 的页面几种传值方式的更多相关文章

  1. 浅谈Asp.Net中的几种传值方式

    一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象.如果你想传递一个安全性不是那么太重要或者是 ...

  2. iOS 页面间几种传值方式(属性,代理,block,单例,通知)

    第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视 ...

  3. Vue中常用的几种传值方式

    Vue中常用的几种传值方式 1. 父传子 父传子的实现方式就是通过props属性,子组件通过props属性接收从父组件传过来的值,而父组件传值的时候使用 v-bind 将子组件中预留的变量名绑定为da ...

  4. Asp.Net中的三种分页方式

    Asp.Net中的三种分页方式 通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等. 第一种:使用Grid ...

  5. django之创建第7-6-第三种传值方式

    1.创建bar.html文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  6. django之创建第7-5-第二种传值方式(time/1232/xiaodneg)

    1.修改views文件 def foo(request,myID,myName): t = loader.get_template("foo.html") user = {&quo ...

  7. Vue 常用三种传值方式

    Vue常用的三种传值方式: 父传子 子传父 非父子传值 引用官网一句话:父子组件的关系可以总结为 prop 向下传递,事件向上传递.父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消 ...

  8. ASP.NET MVC Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  9. ASP.NET 之页面重定向和传值

    在开发 ASP.NET 网站时,经常需要从一个网页重定向(导航)到另一个网页,同时希望能够将信息从源页传递到目标页.例如,如果你正在开发一个保险网站,需要用一个页面来收集基本信息(用户信息.保险产品信 ...

随机推荐

  1. asp.net mvc 之旅—— 第四站 学会用Reflector调试我们的MVC框架代码

    我们知道,现在能调试.net程序通常有两个,第一个是ILSpy,还是一个是Reflector,这两个小反编译软件算是我们研究底层代码中所拥有的一把 锋利小尖刀~~~,比如你看到的ILSpy这样的界面图 ...

  2. java实现支付宝接口--文档..转载

    //实现java支付宝很简单,只要从支付宝官方下载   http://help.alipay.com/support/index_sh.htm下载程序,配置一下参数就OK了:   1.先到http:/ ...

  3. angularJS操作键值对象(类似java的hashmap)填坑小结

    前言: 我们知道java的hashmap中使用最多的是put(...),get(...)以及remove()方法,那么在angularJS中如何创造(使用)这样一个对象呢 思路分析: 我们知道在jav ...

  4. MongoDB学习笔记~Update方法更新集合属性后的怪问题

    回到目录 在对MongoDB进行封装后,对于Update更新对象里的集合属性时出现了一个现象,让人感到很恶心,人家更新前是个美丽的Array,但是更新之后集合对象变成了键值对,键是集合的类型名称,值是 ...

  5. SQL周、日、月、年数据统计

    本文只是记录在项目中用到的统计的SQL语句,记一笔以防忘了 /// <summary> /// 获取统计数据 /// </summary> /// <param name ...

  6. Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)

    本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作. Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 in ...

  7. 13、Apache中虚拟目录和目录权限配置

    一.虚拟目录 之前的个人主页,为了安全起见,需要把~yanji 用户隐藏起来,这时就可以设置个 虚拟目录. 它在Apache服务器应用比较多,能够隐藏系统的真实目录,实用性非常高. 虚拟目录主要 通过 ...

  8. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  9. Learn Python The Hard Way ex41中的程序

    import random from urllib import urlopen import sys WORD_URL = "http://learncodethehardway.org/ ...

  10. MATLAB数字图像处理基础

    图像的输入.输出和显示 1.图像的输入    imread('filename'),  实际中写的是 >> f = imread('sky.jpg'); 2.图像的显示    imshow ...