跨页面传值之QueryString

跨页面传值常用方法

1.QueryString

2.Form-post控件传递

3.Cookies传递

4.Application传递

5.Session传递(灵活强大)

 

1.query传值

  http://www.baidu.com/webform.aspx?paraName=paraValue&pannel=pvalue2

表示URL带有访问参数?

 

QueryString

paraName=paraValue&pannel=pvalue2

 记忆点:

  只能传递2K以内的信息

  2K包括URL地址  “http://.......”

  获取信息的形式,只能是一个字符串

  Server.Transfer,Response.Redirect,的小bug

  调用不存在的Request.QueryString["pname"]返回的是null

  在保证不会与其他参数重命名时,可以简略写成:Request["pname"];

 

 Defaultset页面

C#

public partial class Defaultset : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btnname_Click(object sender, EventArgs e)
    {
        string name = txtname.Text;
        //因为QueryString是通过URL传递的 所以要组建URL
        string url = "DefaultInfo2.aspx?name="+name;
        Response.Redirect(url);
    }

    protected void btnck_Click(object sender, EventArgs e)
    {
        string name = ck.Checked.ToString();
        string url = "DefaultInfo2.aspx?check=" + name;
        Response.Redirect(url);
    }

    protected void ck_CheckedChanged(object sender, EventArgs e)
    {
       
    }

    //一次性传递两个值
    protected void btndrl_Click(object sender, EventArgs e)
    {
        string name1 =drl.SelectedItem.ToString();
        string web = DropDownList1.SelectedItem.ToString();
        string url1 = "DefaultInfo2.aspx?nameone="+name1+"&web="+web;
        Response.Redirect(url1);
    }
}

DefaultInfo2页面 (接收)

 protected void Page_Load(object sender, EventArgs e)
    {
        linklab.Text = Request.QueryString["id"];
        labname.Text = Request.QueryString["name"];
        labcheck.Text = Request.QueryString["check"];
        //可以简写
        labone.Text = Request.QueryString["nameone"];
        labtwo.Text = Request.QueryString["web"];
        
    }

总结:

  Response 是页面跳转的内置对象

而request 是跨页面传值的属性

 

 

 

 

原文地址:https://www.cnblogs.com/xiaowie/p/9167160.html