• WebForm多页面传值跳转


    一、URL传值

     URL传值是利用跳转地址直接加变量定义内容

    格式:跳转地址?任意变量=传的值--?=之间不能有空格

    多条数据传值 在地址栏继续拼接&key=value 
    void Button1_Click(object sender, EventArgs e)
    {
    string path = "Default2.aspx?aaa=" + TextBox1.Text + "&bbb=" + TextBox2.Text;

    Response.Redirect(path);}
    接收值得界面:
    Label1.Text = Request["aaa"];
    Label1.Text += "," + Request["bbb"];

     二、Session传值

    Session简介:

    在服务器中为每个用户浏览器创建的一个会话对象(session对象)。

    注意:1、一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。

    2、Session存放时间20min

    3、浏览器关闭断开此条链接,不能再次访问

    4、Session里面存储Object类型,可存储对象

    Session传值:

    1.赋值:

     protected void Page_Load(object sender, EventArgs e)
        {
            //session赋值
            string s="tr";
            Session["first"] = s;
            //页面传输
            Response.Redirect("Main.aspx");
        }

    2、session取值:

    protected void Page_Load(object sender, EventArgs e)
        {
            //变量接收
            string a = Session["first"].ToString();
            //存放到控件
            Label1.Text = a;
        }

    问题:关闭浏览器再次输入跳转地址报错

    解决方案:在取值时先进行if判断 --session["key"]!=null;

    三、Cookie传值

    1、赋值:

    protected void Page_Load(object sender, EventArgs e)
        {
            //session赋值
            string s="tr";
            Response.Cookies["first"].Value = s;
            //增长保存时常
            Response.Cookies["first"].Expires=DateTime.Now.AddDays(3);
            //页面传输
            Response.Redirect("Main.aspx");
        }

    2、取值:

    protected void Page_Load(object sender, EventArgs e)
        {
            //防报错判断 
            if(Request.Cookies["first"]!=null)
            {//变量接收
            string a =Request.Cookies  ["first"].Value;
            //存放到控件
            Label1.Text = a;
        }
        }

    cookie 和session 的区别:

    1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

    2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
       考虑到安全应当使用session。

    3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
       考虑到减轻服务器性能方面,应当使用COOKIE。

    4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

    5、cookie关闭浏览器打开同一浏览器地址有值,session无值,cookie在不同浏览器同一地址无值

  • 相关阅读:
    ThreadLocal的分享
    remot debug
    小计-git
    入坑HttpServletRequest.getParameterMap
    基于线程池和连接池的Http请求
    spring,maven,dubbo配置
    springMVC,mybatis配置事务
    寻找数组的主元素问题的解法
    关于最大子序列和问题以及相关衍生问题的分析
    关于选择问题的一些思路.
  • 原文地址:https://www.cnblogs.com/hclyz/p/6885318.html
Copyright © 2020-2023  润新知