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; //获取源页面的 ...
随机推荐
- 第八周学习笔记-ADO.Net中DataTable的应用
ADO.Net中DataTable的应用 一.知识点描述 1.概述:DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表),是ADO.Net库中的核心对象. 2.DataTabl ...
- git bash + gitee
使用Git Bash从Gitee上下载代码到本地以及上传代码到码云Git: https://www.cnblogs.com/babysbreath/p/7274195.html 指定克隆远端分支 ht ...
- python爬虫基础_requests和bs4
这些都是笔记,还缺少详细整理,后续会更新. 下面这种方式,属于入门阶段,手动成分比较多. 首先安装必要组件: pip3 install requests pip3 install beautifuls ...
- 使用VB6读取数据库资源并发送邮件(原创)
Private Sub Form_Load() Call conndb End Sub Private Function conndb() Dim cn As New ADODB.Connection ...
- JDK8.0接口中的默认方法和静态方法
我们在接口中通常定义的方法是抽象方法,即没有方法体,只有返回值类型和方法名:(public abstract) void Method(); 类在实现接口的时候必须重写抽象方法才可以 jdk8中新加的 ...
- Python 进程池的回调函数
import os from multiprocessing import Pool,Process def f1(n): print('进程池里面的进程id',os.getpid()) print( ...
- JavaScript·aJax
1.ajax 无刷新数据获取,ajax能且仅能从服务器读取文件 ajax_string ajax_数组 ajax_json ajax_分页 2.ajax原理 ajax请求: 1.创建ajax对象2.连 ...
- 同一个服务器部署两个Tomcat并用Nginx实现反向代理
需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理 一个upstream tomcat_server对应一个 locatio ...
- React事件绑定与解绑
React中事件分类 React中事件绑定分为两种: 1.直接添加在React元素上的事件,这是React在基于Virtual DOM的基础上实现的符合w3c规范的合成事件(SyntheticEven ...
- zuul源码(2)
路由 路由是网关的核心功能,既然在spring的框架下,那就要按Spring的规矩来. 路由规则类:org.springframework.cloud.netflix.zuul.filters.Rou ...