Webform Session、Cookies传值,跳转页面方式
Session:每个独立的浏览器都会创建一个独立的Session,不是一台电脑一个Session
存放位置:服务器上
作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量
优点:安全,速度快,全局访问无限制
缺点:消耗服务器内存资源
特性:Session在20分钟之内如果没有会话操作,则会自动释放
注意:1、不要存大量数据在Session里
2、临时Session取完无用后记得 = null清空它
语法:(1)用Session存值:Session["key名"] = 值; 值,不只是个字符串,可以是对象。
string a = "abcde";
Session["aa"] = a;
(2)从Session取值:类型 变量名 = (强制转换的类型名)Session["key名"]
if (Session["aa"] != null)
{
Label1.Text = Session["aa"].ToString();
}
(3)释放Session:释放某个Session:Session["key名"]=null;
释放所有Session:Session.clear();
自动释放:20分钟
案例
登录界面,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间
I,登录界面Default.aspx
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Length > && TextBox2.Text.Length > )
{
Session["user"] = TextBox1.Text;
Response.Redirect("Default2.aspx");
}
}
II,显示页面Default2.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)//用户名为空,跳转到登陆界面
{
Response.Redirect("Default.aspx");
} if (Session["test"] == null)
{
Session["test"] = DateTime.Now.ToString();
} Label1.Text =" 欢迎您:"+Session["user"].ToString()+"<br/>"; Label1.Text +=" " + Session["test"].ToString();
}
Cookie:保存在客户端内存或硬盘上
临时Cookie是存在浏览器内存中的,持久Cookie是存在电脑硬盘上浏览器相关的Cookie目录下的
作用:保存数据信息,只能保存字符串,全局访问
会话Cookie
1、浏览器一关,此次访问一中断
2、没有任何新的提交,20分钟过期
3、手动清楚浏览器Cookie
持久Cookie
1、代码设置过期
2、手动清楚浏览器Cookie
设置Cookie
//新建Cookie对象
HttpCookie cookie_name = new HttpCookie("uid");
//赋值
cookie_name.Value = uid;
//写入到Cookie里面
Response.AppendCookie(cookie_name);
用Cookie存值:Cookie["key名"] = 值; 值,只能是是个字符串。
string uid = "abcde";
Response.Cookies["aa"].Value = uid;
在使用界面:读取Cookie
Request.Cookies["uid"].Value.ToString();
if (Request.Cookies["uid"] != null)
{
Label1.Text = Request.Cookies["uid"].Value;
}
案例
登录界面可选择保持登录状态3天,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间
I,登录界面Default.aspx
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
{
Response.Cookies["user"] = TextBox1.Text;
if(CheckBox1.Checked)
{
Response.Cookies["user"].Expires = DateTime.Now.AddDays(3);
}
Response.Redirect("Default2.aspx");
}
}
II,显示页面Default2.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)//用户名为空,跳转到登陆界面
{
Response.Redirect("Default.aspx");
} if (Session["test"] == null)
{
Request.Cookies["test"].Value = DateTime.Now.ToString();
}
Label1.Text =" 欢迎您:"+Request.Cookies["user"].Value.ToString()+"<br/>";
Label1.Text +=" " +Request.Cookies["test"].Value.ToString(); }
跳转页面方式:
1.Response.Redirect("http://www.baidu.com");重定向,可以跳转任何网页
2.Server.Transfer("Main.aspx");只能跳转该网站根目录下的网站
Webform Session、Cookies传值,跳转页面方式的更多相关文章
- Webform Session Cookies状态保持
Request对象的五个集合: ①.QueryString:用以获取客户端附在url地址后的查询字符串中的信息. 例如:stra=Request.QueryString ["strUserl ...
- webform基础介绍及页面传值(session,cookie)、跳转页面
一,IIS 1.首先知道IIS是个什么东西:它是web服务器软件,安装在服务器上,接受客户端发来的请求,并传送给服务器端,然后响应请求并送回给客户端.类似于饭店里的服务员. 2.会安装IIS——控制面 ...
- 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...
- WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性和超链接点击弹出警示框
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值方式: href="地址?key=v ...
- ASP.NET页面传值的几种方式
页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值. 存储对象传值.ajax.类.model.表单等!下面欧柏泰克和大家一起来看看asp.net页面传值方式一般有哪些?常用的较简单 ...
- ASP.NET 页面之间传值的几种方式
开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...
- 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- ASP.NET页面间传值的几种方式
ASP.NET页面间传值的几种方式 1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在 ...
- asp.net中,跳转页面的几种方式
js方式的页面跳转1.window.location.href方式 <script language="javascript" type="text/java ...
随机推荐
- ACM/ICPC 之 三维计算几何+暴力枚举+判重(HDU5839)
CCPC网赛第八题,求立体几何数量,题解见注释 //立体几何-求满足要求的四面体个数 //要求1:至少4条边相等 //要求2:四条边相等时,另两条边一定不相邻(即对边) //题解:以当前边为不相邻的其 ...
- Demo中的IOC自定义实现
在做练习的时候,小小项目,使用IOC控件觉得麻烦,使用工厂觉得不高大上啊,自己写个简陋的依赖注入IOC吧; 控制反转(IOC)是管理映射依赖的的,是依赖倒置(DIP)的实现方式; 依赖倒置(DIP)是 ...
- SB Admin 2 学习笔记1
需要掌握能够搭建起一个 dashboard 的能力, 因为很少有运维开发团队有专职的前端, bootstrap 也要讲个基本法. SB Admin 2, 一个免费的 bootstrap theme, ...
- 循环冗余码crc
待编码的有效信息组多项式:M(x) 生成多项式(产生校验码的多项式):G(x) 余数多项式:R(x) 商:Q(x) 生成多项式是四次的,所以某个多项式除以生成多项式的余式肯定是三次的,所以要加四位00 ...
- - >code vs 1475 m进制转十进制
1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将m进制数n转化成一个 ...
- rdlc报表相关
错误提示:1.尚未指定报表定义的来源 注意ReportPath与ReportEmbeddedResource的区别,前者获取或设置本地报表的本地文件系统路径,设置此属性将导致后者属性值被忽略:后者将获 ...
- 【NodeJS】环境变量配置
安装完Node后,NodeJS自带npm.于是我照着网上的教程想搭一个脚手架.结果报错: ’node’ 不是内部或外部命令,也不是可运行的程序 但是我检查了一下系统环境变量,path底下有正确引用no ...
- Pugixml一种快速解析XML文件的开源解析库
Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器.接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码: 使用Pugixml可通 ...
- Js 日期转换函数(UTC时间转换及日期想加减)
IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...
- F#之旅7 - 图片处理入门
首先,隆重介绍今天的主角:ImageProcessor(http://imageprocessor.org/).虽然我并没有在实际工作中用到这个库,但是它干净利索的使用方式打动了我,很久以前就存了下来 ...