我想将多个变量传递给其他网页。
我试试这段代码
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);
但它不起作用我该怎么办?
最安全的方法是使用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"]);
像这样连接它们:
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"];
}
您还可以使用会话将值从一个页面传递到另一个页面
在页面中设置要将值从其中传递到会话的值
Session["adi"] = TaskGridView.SelectedRow.Cells[3].Text;
Session["soyadi"] = TaskGridView.SelectedRow.Cells[3].Text;
在您要检索的页面中-您这样做..
string adi=(string)(Session["adi"]);
string soyadi=(string)(Session["soyadi"]);
您也可以传递值,ViewState
或者Session
与您现在所做的不同的是:人们不会在您的 url 中看到任何内容,也不知道后端发生了什么。传递一些“绝密”数据时很好;P