20150309—bs的保存状态
http:保存状态方式,传值方式
session:(会话)
默认过期时间20分钟(20分内无任何操作自动销毁),针对用户独立,一般用来存储少量信息的
存值:session[“name”]=data;(任意值,可以是对象)
取值:session[“name”]
当存储对象时需要定义一个对象才可以接接收。
例:某数据库表Login:

HTML的设计页面:

此页面的C#语句:
DataClassesDataContext dc = new DataClassesDataContext();
protected void Page_Load(object sender, EventArgs e)
{ }
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{ }
//存值
protected void Button1_Click(object sender, EventArgs e)
{
string use = TextBox1.Text;
var va= dc.Login.SingleOrDefault(m => m.UserName == use);//存值,Login类型的对象
if (va != null)
{
Session["user"] = va;
} }
//取值
protected void Button2_Click(object sender, EventArgs e)
{
Login log = new Login();//创建与存值时相同的对象
log = (Login)Session["user"];
Label1.Text = log.UserName;
Label2.Text = log.Password;
Label3.Text = log.Name;
Label4.Text = log.Account.ToString();
}
取值后结果:

当使用ashx一般处理程序时,必须先添加
IRequiresSessionState 接口
System.Web.SessionState; namespace Test
{
public class about : IRequiresSessionState
{ }
}
application:(全局)
所有用户共享的,没有过期时间
存值:application[“name”]=data;(任意值,可以是对象)
取值:application[“name”]
其中的两个方法:application.lock(锁),application.unlock(解锁)
cookice:
存在客户端的电脑上,随着表的提交循环获取的,除非过期
存值:Response.Cookies[“name”].Value=值
取值:Request.Cookies[“name”].value
可以设置过期时间:response.cookies[“name”].expires=时间段
protected void Button1_Click(object sender, EventArgs e)
{
//ViewState["name"] = "存储的值!";
//Response.Cookies["name"].Value = "===存取的值===";
Response.Cookies["name"].Value = HttpUtility.UrlEncode("cunqudeshi");//存值时的编码
Response.Cookies["name"].Expires = System.DateTime.Now.AddSeconds();//5秒后过期
}
protected void Button2_Click(object sender, EventArgs e)
{
//TextBox1.Text = ViewState["name"].ToString();
TextBox1.Text = Request.Cookies["name"].Value;
Response.Write(HttpUtility.UrlEncode(Request.Cookies["name"].Value));//取值同样需要解码
}
5秒内取值:

5秒后再点取值:报错

如果不对过期时间设置,默认关掉网页后自动清除,如果设置了时间后,关掉网页再打开并在规定时间内依然可以取值
querystring:
存值: url 网址?变量=值
取值: Request.Querystring[“变量名”] 或者 Request[“变量名”]
有长度限制,受url的总长度限制,一般用来传表的主键等。
cache:
服务器端缓存,用户共享的,有过期时间,一般用来存储大容量的信息,cache距离用户的距离介于session与application之间
存值:cache.insert(string key,object o)
销毁:cache.remove(string key)
调用:cache[“key”]
viewstate:
只针对于当前页面,保存在页面的html代码中,
每个页面会自动生成viewstaste代码(隐藏代码),相当于隐藏域
存值:viewstate[“name”]=data;(可以是对象)
取值:viewstate[“name”]
20150309—bs的保存状态的更多相关文章
- 程序中保存状态的方式之Cookies
程序中保存状态的方式之 Cookies,之前写过一篇关于ViewState的.现在继续总结Cookies方式的 新建的测试页面login <%@ Page Language="C#&q ...
- Activity的保存状态和状态恢复
Activity的保存状态和状态恢复 当系统内存不足时,系统会强制结束一些不可见的Activity以节省内存资源.在某些情况下,当被强制结束的Activity再次显示时会出现一些问题. 例如:一个AP ...
- 程序中保存状态的方式之ViewState
程序中保存状态的方式有以下几种: 1.Application 2.Cookie 3.Session 4.ViewState:ViewState是保存状态的方式之一,ViewState实际就是一个Hid ...
- Fragment、Activity 保存状态
Activity 保存状态1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的onCreat ...
- Android 组件系列-----Activity保存状态
本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的 ...
- android 后台 activity 被系统回收 保存状态
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 活动被系统回收, 要保存状态 ,用到 活动的 在保存实例时候 的 这个方法. 当系统异常 ...
- canvas学习笔记(下篇) -- canvas入门教程--保存状态/变形/旋转/缩放/矩阵变换/综合案例(星空/时钟/小球)
[下篇] -- 建议学习时间4小时 课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...
- (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState
WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修 改较少并且是全局至少大部分 ...
- 【转】Android 组件系列-----Activity保存状态
本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的 ...
随机推荐
- [置顶] Android开发之MediaPlayerService服务详解(一)
前面一节我们分析了Binder通信相关的两个重要类:ProcessState 和 IPCThreadState.ProcessState负责打开Binder 驱动,每个进程只有一个.而 IPCThre ...
- 【JavsScript】Ember.js
现在,我们经常都可以看到复杂的JavaScript应用程序,由于这些应用程序变得越来越复杂,一长串的jQuery回调语句或者通过应用程序在各个状态执行不同的函数调用,这些做法都会变得无法再让人接受,这 ...
- oc-20-多态
/** 为什么父类可以访问子类继承自父类的方法,但是无法访问子类独有的方法? 1.编译器编译时: 编译器在编译时,只检查指针变量的类型,确定该指针变量类型里面有下面调用的方法,如果有该方法,编译器就认 ...
- archlinux随记
xrdb -merge .Xresources才能使urxvt的配色显示正常 xpmroot 包含在fvwm包中
- Java再学习——synchronized与volatile
volatile:只保证共享资源的可见性的,任何修改都写在主存,所有线程马上就能看到,适用于新值不依赖于旧值的情形. synchronized:保证可操作的原子性一致性和可见性. volatile和s ...
- SQL VS NoSQL 如何选择数据库
在前一篇文章中我们主要的讨论了SQL与NoSQL数据库之间的主要的差别.接下来,我们将会利用上一篇中的知识来确定在特定的场景中如何确定比较好的选择. 首先我们先来总结一下: SQL数据库: 使用表存 ...
- IIS 之 托管管道模式
IIS 7.0 支持两种管道模式: (1)IIS 7.0 最新提供的集成管道模式(Integrated), (2)经典管道模式(Classic),经典管道模式是由先前版本的IIS提供的. 我们可以通过 ...
- Play on Words 欧拉通路(回路)判断
Play on Words note: 判断一下连通性. #include <iostream> #include <cstdio> #include <cstring ...
- 1.6.6 De-Duplication(重复数据删除)
1. 重复数据删除 solr通过<Signature>类的类型来支持重复数据删除技术的.一个Signature可以通过以下几种方式实现: 方法 描述 MD5Signature 128 ...
- hibernate中session的获取使用以及其他注意事项
hibernate中session的获取使用以及其他注意事项 前言:工作时,在同时使用Hibernate的getSession().getHibernateTemplate()获取Session后进行 ...