• ASP三种常用传值方式:


    ASP 页面(两个aspx页面)传值方式:
    背景: 两个aspx 页面
    valuepage.aspx tbusername tbpwd
    obtainvalue.aspx tbusername tbpwd

    1 使用QueryString方式:
    valuespage.aspx值发送页面代码:
    Response.Redirect("obtainvalue.aspx?username="+this.tbusername.text.trim()+"&pwd"+this.tbpwd.trim());
    obtain.aspx接收值页面:
    private void QueryString()
    {
    this.tbusername.text = request.queryString["username"];
    this.tbpwd.text = request.querystring["pwd"];
    }
    2 使用Session传值:
    valuespage.aspx 发送页面值:
    Session["username"] = this.tbusername.text.trim();
    Session["pwd"] = this.tbPwd.text.trim();
    response.redirect("Obtainvalues.aspx");
    obtainvalues.aspx接受页面:
    this.tbusername.text = session["username"].tostring();
    this.tbpwd.text =session["pwd"].tostring();

    3 使用COOKIE变量传值:
    发送页面
    .aspx页面:
    Response.Cookies["aaa"].Value = "hello world";
    Response.Redirect("Default3.aspx");
    接受页面:
    .cs页面:
    Label1.Text = Request.Cookies["aaa"].Value;

    4 、使用Application对象变量传值:
    传送页面代码:
    //Application.Lock();
    //Application["username"] =username.Text.Trim();
    //Application["pwd"] = pwd.Text.Trim();
    //Application.UnLock();
    //Server.Transfer("Default2.aspx");
    接受页面代码:(安全性较高适合密码传输)
    //Application.Lock();
    //username.Text =Application["username"].ToString();
    //string a =Application["pwd"].ToString();
    //string s ="#";
    //for(int i=1;i<a.Length;i++)
    //{
    // s+=s;

    //}
    //pwd.Text = s;
    //Application.UnLock();

    5、使用Server.Transfer方法:
    数值传送页面:
    public string UserName
    {get { return this.tbUserName.Text.Trim()? }
    }
    public string Pwd
    {
    get { return this.tbPwd.Text.Trim()? }
    }
    protected void btnTransferValue_Click(object
    sender, EventArgs e)
    {
    Server.Transfer("ObtainValue.aspx")?
    }
    数值接受页面:
    private void TransferValue()
    {
    ValuePage valuePage?
    valuePage = (ValuePage)Context.Handler?
    this.tbUserName.Text = valuePage.UserName?
    this.tbPwd.Text = valuePage.Pwd?
    }

    两种跳转页面的区别:
    在上文跳转到其他界面时使用Response.Redirect和
    Server.Transfer,此处简单介绍其区别:
    请求的过程:
    1)浏览器aspx文件请求--->服务器执行--->遇到Response.Redirect语句->服务器发送Response.Redirect后面的
    地址给客户机端的浏览器--->浏览器请求执行新的地址
    2)浏览器aspx文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件

    可以见Server.Transfer比Response.Redirect少了一次服务器
    发送回来和客户端再请求的过程

    数据保密:
    1、Response.Redirect后地址会变成跳转后的页面地址。
    2、Server.Transfer后地址不变,隐藏了新网页的地址及附带
    在地址后边的参数值。具有数据保密功能。
    传递的数据量(网址后附带的参数):
    1、Response.Redirect能够传递的数据以2KB(也就是地址栏
    中地址的最大的长度)为限。
    2、传递的数据超过2KB时,务必使用Server.Transfer。

    cookie 和session 的区别:
    1、cookie数据存放在客户的浏览器上,session数据放在服务器
    上。
    2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进
    COOKIE欺骗考虑到安全应当使用session。
    3、session会在一定时间内保存在服务器上。当访问增多,会比较
    用你服务器的性能。考虑到减轻服务器性能方面,应当使用
    COOKIE。
    4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站
    最多保存20个cookie。
    5、所以个人建议:将登陆信息等重要信息存放为SESSION,其他
    信息如果需要保留,可以放在COOKIE中。

  • 相关阅读:
    Python基础---------数据类型
    Linux----------Rabbitmq消息队列
    常用消息中间件对比
    Linux-------------kafaka基础
    Linux------------zookeeper基础
    CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决
    Linux-------------MongoDB基础
    Web Service
    AutoResetEvent和ManualResetEvent(多线程操作)
    方法的可变参数 params
  • 原文地址:https://www.cnblogs.com/woniu-net/p/4727807.html
Copyright © 2020-2023  润新知