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的保存状态的更多相关文章

  1. 程序中保存状态的方式之Cookies

    程序中保存状态的方式之 Cookies,之前写过一篇关于ViewState的.现在继续总结Cookies方式的 新建的测试页面login <%@ Page Language="C#&q ...

  2. Activity的保存状态和状态恢复

    Activity的保存状态和状态恢复 当系统内存不足时,系统会强制结束一些不可见的Activity以节省内存资源.在某些情况下,当被强制结束的Activity再次显示时会出现一些问题. 例如:一个AP ...

  3. 程序中保存状态的方式之ViewState

    程序中保存状态的方式有以下几种: 1.Application 2.Cookie 3.Session 4.ViewState:ViewState是保存状态的方式之一,ViewState实际就是一个Hid ...

  4. Fragment、Activity 保存状态

    Activity 保存状态1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的onCreat ...

  5. Android 组件系列-----Activity保存状态

    本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的 ...

  6. android 后台 activity 被系统回收 保存状态

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 活动被系统回收, 要保存状态 ,用到 活动的 在保存实例时候 的 这个方法. 当系统异常 ...

  7. canvas学习笔记(下篇) -- canvas入门教程--保存状态/变形/旋转/缩放/矩阵变换/综合案例(星空/时钟/小球)

    [下篇] -- 建议学习时间4小时  课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...

  8. (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState

    WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修      改较少并且是全局至少大部分 ...

  9. 【转】Android 组件系列-----Activity保存状态

    本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的 ...

随机推荐

  1. Linux进程通信之System V消息队列

    System V消息队列是Open Group定义的XSI,不属于POSIX标准.System V IPC的历史相对很早,在上个世70年代后期有贝尔实验室的分支机构开发,80年代加入System V的 ...

  2. 云服务器 ECS Linux 磁盘空间满(含 innode 满)问题排查方法

    问题描述 在云服务器 ECS Linux 系统内创建文件时,出现类似如下空间不足提示: No space left on device … 问题原因 导致该问题的可能原因包括: 磁盘分区空间使用率达到 ...

  3. ext2文件系统

    2.1. 总体存储布局 我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的 ...

  4. NopCmmerce的FakeHttpContext类

    在 Web 中进行测试驱动的开发,比较大的困难是模拟 HttpContext; 1.Nop提供了完整的FakeHttpContext实现,如图 1.FakeHttpContext的作用. 控制器进行单 ...

  5. [拇指飞动]构建高性能Web站点(1)

    <构建高性能Web站点>中提到了Aphache, Nginx和lighthttpd. 把我的笔记share一下. 一般来讲Apache主要是基于多进程模型,早期的fork模式会为每一个re ...

  6. CentOS7 安装Docker报错

    安装报错: Transaction check error:  file /usr/lib/systemd/system/blk-availability.service from install o ...

  7. C++ atol

    函数名: atol 功 能: 把字符串转换成长整型数 用 法: long atol(const char *nptr);   简介编辑 相关函数: atof,atoi,strtod,strtol,st ...

  8. Design Mode 之 结构模式

    这里我们主要介绍7种结构型模式:适配器模式.装饰模式.代理模式.外观模式.桥接模式.组合模式.享元模式.其中对象的适配器模式是各种模式的起源,我们看下面的图: B1.适配器模式(Adapter) 模式 ...

  9. C# mvc--EF中查询的本质

    UI层我直接用了窗体程序. 好了 不罗嗦 直接上代码…… private void button1_Click(object sender, EventArgs e) { //1.0创建EF上下文容器 ...

  10. C#三大支柱之多态

    1.包含与委托---has-a 2.嵌套类型(枚举.类.接口.结构等) 由于只有嵌套类才可声明为私有,通过嵌套类则可以完全控制内部类型的访问级别. 嵌套类型是包含类的成员,所有可以访问包含类的私有成员 ...