zoukankan      html  css  js  c++  java
  • 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(); }
    复制代码
  • 相关阅读:
    bzoj4028 [HEOI2015]公约数数列
    bzoj4766 文艺计算姬
    bzoj4241 历史研究
    bzoj3744 Gty的妹子序列
    bzoj4540 [Hnoi2016]序列
    uoj#228 基础数据结构练习题
    bzoj2467 [中山市选2010]生成树
    bzoj2125 最短路
    bzoj4800 [Ceoi2015]Ice Hockey World Championship
    bzoj2463 [中山市选2009]谁能赢呢?
  • 原文地址:https://www.cnblogs.com/baimangguo/p/6255558.html
Copyright © 2011-2022 走看看