Asp.net中传递数据的方法

部分翻译
1.Application State
在asp的时代就出现了,在整个程序域中存储数据。不能垮程序域访问。
为了避免死锁,你应该在存储数据的时候进行锁定
// 代码示例
Application.Lock();
Application[
" Key " =   " object " ;
Application.UnLock;
2.Cache Object
和Appliction很像,但是优点很明显,简化了很多,因为有线程来控制所以就没有必要去注意死锁这么麻烦的事情。
缓存还有优先级,你可以指定某个缓存项在多长时间后移出也可以指定在什么时间移出。也可以指定对其他因素的依赖。至今看见缓存最经典的应用就是在petshop中。
 Cache.Insert( " Key " " object "

  
null , System.Web.Caching.Cache.NoAbsoluteExpiration,

  
new  TimeSpan( 0 30 0 ));

Session state


在Asp时代就存在了,可以用来存储用户特定的信息,Session只能对当前的系统当前的用户服务,别的同时在线用户不会享用你的session value。
 Session[ " UserName " =    " Eveong "    // Store

string  myName  =  Session[ " UserName " ].ToString()

Context
是个很帅,很难见的东西,至今没有发现人用,因为这家伙的生命周期很短,用毫秒来计算的,仅仅生活在服务器端。唯一的优点就是高效,可以自动的从内存中清除。
 Context.Items[ " UserName " =  TextBox1.Text;   // Page1

Server.Transfer(
" Page2.aspx " );  // Page1

string  s  =  Context.Items[ " UserName " ].ToString();  // Page2
在这里只能只能用Server.Transfer ,不能用Response.Redirect 因为 redirect是客户的一个完整的post和get
Context在到达第二个页面前已经被除名了。

ViewState
这个最常用的, The ViewState object is useful for storing objects between postbacks to the same page(解释真是到位) 没有runat=''Server''的控件都有ViewState。
最可耻的事情就是ViewState不会存储在内存中,而是保存在生成的页面html中。显示在页面时候是编码每次页面回发在服务器都要进行解码。虽然Viewstate生成html都是进行加密的。碰见那些有能力的又感兴趣的人就会进行解码。所以敏感的信息就不要存贮在viewstate中了。

QueryString
最早学会的在页面中传值得方法 xiaogou.aspx?age=19&sex=boy 靠&来分隔了,=后面就是params的value

Cookies
将值保存在客户端了,也可以指定生命周期有多长,asp.net中form验证就是基于Cookies动用的是客户端的东西所以Cookies受到的争议。
Cookies由于存在用户的硬盘中,所以可以被更改,所以你获得的信息不总是可信的。
 Response.Cookies[ " myval " ].Value  =  TextBox1.Text;   // Store

Response.Cookies[
" myval " ].Value;  // Retrieve

Post
Submit按钮就是使用这个东西,有了asp:button 我从来就没有用过这个优秀的html控件。
贴个代码大家看吧
  string   s  =  Request.Form[ " TextBox1 " ].ToString();  /

原文地址:http://steveorr.net/articles/PassData.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值