0

我想将多个变量传递给其他网页。

我试试这段代码

string adi = TaskGridView.SelectedRow.Cells[3].Text;

string soyadi = TaskGridView.SelectedRow.Cells[3].Text;

Response.Redirect("Default2.aspx?adi=" + adi);

Response.Redirect("Default2.aspx?soyadi=" + adi);

但它不起作用我该怎么办?

4

4 回答 4

4

最安全的方法是使用String.Format()with Server.UrlEncode()

Response.Redirect(String.Format("Default2.aspx?adi={0}&soyadi={1}", Server.UrlEncode(adi), Server.UrlEncode(soyadi)));

这将确保查询字符串值不会被破坏&,例如,如果值中有与号 ( )。

然后Default2.aspx您可以访问以下值:

Server.UrlDecode(Request.QueryString["adi"]);
于 2012-06-27T10:18:22.770 回答
1

像这样连接它们:

Response.Redirect("Default2.aspx?adi=" + adi + "&soyadi=" + soyadi);

传递查询字符串参数时,?在页面名称后使用符号,如果要添加多个参数,请使用&符号分隔它们

在消费页面:

    protected void Page_Load(object sender, EventArgs e)
    {
        var adi = this.Request.QueryString["adi"];
        var soyadi = this.Request.QueryString["soyadi"];
    }
于 2012-06-27T10:08:01.550 回答
0

您还可以使用会话将值从一个页面传递到另一个页面

在页面中设置要将值从其中传递到会话的值

Session["adi"] = TaskGridView.SelectedRow.Cells[3].Text;

Session["soyadi"] = TaskGridView.SelectedRow.Cells[3].Text;

在您要检索的页面中-您这样做..

string adi=(string)(Session["adi"]);
string soyadi=(string)(Session["soyadi"]);
于 2012-06-27T10:21:39.710 回答
0

您也可以传递值,ViewState或者Session与您现在所做的不同的是:人们不会在您的 url 中看到任何内容,也不知道后端发生了什么。传递一些“绝密”数据时很好;P

于 2012-06-27T10:23:34.600 回答