Application、QueryString、session、cookie、ViewState、Server.Transfer等
Application:
WebForm1.aspx:
protected void Button1_Click(object sender, EventArgs e)
{
;
Response.Redirect("WebForm2.aspx"); // 页面跳转。等价于 HttpContext.Current.Response.Redirect("WebForm2.aspx");
}
///////////////////////////////////////////
WebForm2.aspx:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
if (Application["t"] != null)
{
this.Literal1.Text = this.Application["t"].ToString();
int count = (int)this.Application["t"];
count++;
// 加解锁:作用防止大量用户同时访问造成的数据不准确。
this.Application.Lock(); // application加锁
this.Application["t"] = count;
this.Application.UnLock(); // 释放锁
}
}
}
1.容易丢失。例如:代码做了修改重新编译启动。
2.可以多用户同时使用该数据。
Session:
WebForm1.aspx:
protected void Button1_Click(object sender, EventArgs e)
{
// 设置session
this.Session["user"] = "namejr";
Response.Redirect("WebForm2.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("WebForm2.aspx");
}
///////////////////////////////////////////
WebForm2.aspx:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
if (this.Session["user"] != null)
{
this.Literal1.Text = this.Session["user"].ToString();
}
else
{
this.Literal1.Text = "未登录";
}
}
}
session的信息是存储在服务器的,但是为了服务器区别出是哪一个用户,会在用户本地产生一个cookie,为了防止用户禁用cookie,可以再web.config做如下设置:
<system.web>
<!-- 开启debug -->
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<!-- 防止用户禁用本地cookie -->
<sessionState cookieless="UseUri"></sessionState>
</system.web>
Cookie:
string a = this.Request.Cookies["a"].Value; // 获取cookie的值
) }); // 添加cookie。等同于HttpContext.Current.Response.AppendCookie(new HttpCookie() { Name = "c", Value = "C", Expires = DateTime.Now.AddDays(1) });
ViewState:
使用ViewState的数据保留在每个单独的页面,不能够跨页面进行实现
;
Server.Transfer 和 Response.Redirect:
// Response.Redirect
protected void Button1_Click(object sender, EventArgs e)
{
// 使用Response.Redirect相当于在客户端进行页面的跳转,具体看导航栏便可知道
Response.Redirect("WebForm2.aspx");
}
// Server.Transfer
protected void Button2_Click(object sender, EventArgs e)
{
// Server.Transfer相当于在服务器完成页面的指向,导航栏现实的仍然是WebForm1.aspx
Server.Transfer("WebForm2.aspx");
}
Application、QueryString、session、cookie、ViewState、Server.Transfer等的更多相关文章
- Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别
2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...
- Application,Session,Cookie,ViewState和Cache区别
在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...
- Web缓存Cache、Application、Session与ViewState
在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 方法 信息 ...
- ASP.NET:Application,Session,Cookie,ViewState和Cache之间的区别(转)
在ASP.NET中,有很多种保存信息的对象.例如:Application,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 为了更清楚 ...
- [区别]APPlication,Session,Cookie,ViewState和Cache
原文发布时间为:2009-08-01 -- 来源于本人的百度文章 [由搬家工具导入] 在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewS ...
- (转)Application, Session, Cookie, Viewstate, Cache对象用法和区别
================================================================================ 1.Applicati ...
- .NET Application,Session,Cookie,ViewState,Cache对象用法
作用域 保存地址 生命周期Application 应用程序 服务器内存 IIS启动Session 整个站点 服务器内存 Session到时 默认20分钟Cashe 应用程序 服务器内存 应用程序的周期 ...
- APPlication,Session,Cookie,ViewState和Cache之间的区别
1.Application:用于保存所有用户共用的数据信息. 在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都 ...
- Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别
1.Application:用于保存所有用户共用的数据信息.在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都要 ...
- asp.net Server.Transfer
页面跳转传参. 如果不是通用的跳转可以通过,在原始页面定义对象保存数据 跳转的目标页面可以: SourcePage page=(SourcePage)Context.Handler; //获取源页面的 ...
随机推荐
- hdu4044
题意:给你一颗树有n个节点,树的根节点为1,表示为敌人的基地,其他叶子节点为你的基地,你一开始有m元,给你每个节点可以建造的塔的数量和塔的价格和可以照成的伤害,每个节点至多建立一座塔.敌人的基地每次会 ...
- 最全面的Redis命令行查阅手册(收藏查看)
Redis是用C语言实现的,一般来说C语言实现的程序“距离”操作系统更近,执行速度相对会更快. Redis使用了单线程架构,预防了多线程可能产生的竞争问题. 作者对于Redis源代码可以说是精打细磨, ...
- PowerDesigner下载安装破解
power designer是Sybase公司为开发人员推出的一款常用的数据库建模工具集,它能对管理信息系统进行分析设计,几乎能完成数据库模型设计的全过程,利用Power Designer不仅可以制作 ...
- java HttpClient 忽略证书的信任的实现 MySSLProtocolSocketFactory
当不需要任何证书访问https时,java中先实现一个MySSLProtocolSocketFactory类忽略证书的信任 package com.tgb.mq.producer.utils; imp ...
- 2018-CVTE中央研究院-自然语言处理算法工程师-电话初面问题
楼主NLP初学者一名,有幸参加2018年CVTE中央研究院自然语言处理电话面试,问题总结如下: 1.详细的介绍自己的学术论文(感觉他们非常重视这块),会问你网络的具体构造,注意力机制如何计算以及为何你 ...
- 原生JS和jQuery操作DOM的区别小结
一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...
- sdn-准备-虚拟机迁移-vxlan
知识基础: 虚拟机到虚拟机的迁移(Virtual-to-Virtual) V2V 迁移是在虚拟机之间移动操作系统和数据,照顾主机级别的差异和处理不同的虚拟硬件.虚拟机从一个物理机上的 VMM 迁移到另 ...
- koala 的使用
koala是一个前端预处理器语言图形编译工具,支持Less.Sass.Compass.CoffeeScript,帮助web开发者更高效地使用它们进行开发.跨平台运行,完美兼容windows.linux ...
- Vasya and Binary String(来自codeforces
题目大意: 给定一个0/1字符串,每次你可以将此字符串中一段连续的任意长度的0/1子串消除掉,注意每次消除的子串中只能有0或者1一种字符,消除掉一串长度为i的0/1字符串会得到a[i]的收益,问将这个 ...
- python 解方程
[怪毛匠子=整理] SymPy 库 安装 sudo pip install sympy x = Symbol('x') 解方程 solve([2 * x - y - 3, 3 * x + y - 7] ...