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 > 0 && TextBox2.Text.Length > 0)
        {
            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 +="&nbsp;" + 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 +="&nbsp;" +Request.Cookies["test"].Value.ToString(); }

跳转页面方式:

1.Response.Redirect("http://www.baidu.com");重定向,可以跳转任何网页
2.Server.Transfer("Main.aspx");只能跳转该网站根目录下的网站

时间: 2024-10-12 21:22:56

Webform Session、Cookies传值,跳转页面方式的相关文章

webform文本框 、显示文字、按钮、跳转页面、页面传值

1.TextBox:用户输入文本框 单行文本框 多行文本框 密码框2.显示文字:lable会生成Span标签 literall将文字原封不动的打到页面3.按钮:Button普通按钮 ImageButton图片按钮 LinkButton超链接按钮4.Image:图片工具 HyperLink:超链接工具 跳转页面:1.Response.Redirect("url"); //重定向页面,可以跳转任何页面2.Server.Transfer("url"); //重新请求页面,

WebForm 【复合控件】【跳转页面,跨页面传值】

按钮类button - 无submit - Buttonreset - 无image - ImageButton 选择类radioRadioButtonList - 布局里三个ListItem Enable selected Text Value checkboxCheckBoxList - 布局里三个ListItem Enable selected Text Value 绑定数据有两种方式:DataSource 遍历创建ListItem 取值两种单选 可以使用selectedItem 多选要使

【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key=value&key=value"            用&可以实现传递多个值. 通过这种方式就把要传递的值传到要跳转的页面去了. 2.跨页面取值: 在跳转到的页面的C#代码服务端进行取值 用:  string value = Request["key"]; 二.

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

页面传值的几种方式

1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案.使用这种方法的步骤如下: 1,使用控件创建web表单(form) 2,创建可以返回表单的按钮和链接按钮 3,在按钮或链接按钮的单击事件里创建一个保存URL的字符变量 4,在保存的URL里添加QueryString参数

asp.net中,跳转页面的几种方式

js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/javascript">           window.location.href="http://www.dayanmei.com/";     </script> 2.window.navigate方式跳转   <script language="

[转]spring mvc注解方式实现向导式跳转页面

由于项目需要用到向导式的跳转页面效果,本项目又是用spring mvc实现的,刚开始想到用spring 的webflow,不过webflow太过笨重,对于我们不是很复杂的跳转来说好像有种“杀鸡焉用牛刀”的感觉,于是就网上搜索看有没有类似的解决方案,网上的答案一般都是叫你继承AbstractWizardFormContoller这个类来实现,但对于spring mvc3.0.x这个类将不再使用,转而推荐使用注解的方式来实现,于是参考官方文档,用注解方式实现了向导式页面. 下面是代码示例: [jav

ios学习-delegate、传值、跳转页面

ios学习-delegate.传值.跳转页面 1.打开xcode,然后选择ios--Application--Empty Application一个空项目. 项目目录: 2.输入项目名称以及选择保存路径即可. 3.创建文件夹Model.Controller. 4.Model文件夹创建User类:User.h User.m 代码: User.h: [html] view plaincopy #import <Foundation/Foundation.h> @interface User : N

Struts2--result页面跳转forward--get方式和post方式的获取参数

一.总体概述 这篇文章是写基于struts2(整合了ssh)的2个页面之间的跳转传参.突然这天想到,struts2的result有很多的type类型(跳转,重定向,...),于是就回忆起,跳转和重定向的不同(跳转地址栏不变,共享参数:重定向地址栏改变,不再共享参数).心里好奇,struts2里页面跳转的时候,get的方式提交时怎么再第二个页面获取参数的,post是怎么在第二个页面获取参数的.重定向又是怎么样的呢?真的抱歉,我今天花了一天时间,只弄清楚了页面跳转,关于页面重定向传参明天再搞.本来这