传递名称包含&使用查询字符串到下一页

时间:2015-04-27 05:41:47

标签: c# asp.net query-string

这是我在第一页的传递代码

protected void btnsbt_Click(object sender, EventArgs e)
{
    DateTime a = DateTime.ParseExact(txtfrmdate.Text, "dd-MM-yyyy", null);
    DateTime b = DateTime.ParseExact(txttodate.Text, "dd-MM-yyyy", null);
    string c = txtCustomerName.Text.ToString();

    Response.Redirect("frmRptSalesBillWiseView.aspx?drop=" + a + "&radio=" + b + "&CustName=" + c + "");
}

当我传递名称" A & A CONTAINER CONVERSIONS"到下一页我只得到" A"。

第二页的代码:

custname1 = Request.QueryString["CustName"];

3 个答案:

答案 0 :(得分:1)

我使用Server.UrlEncode()

解决了这个问题

Response.Redirect(" frmRptSalesBillWiseView.aspx?drop =" + a +"& radio =" + b +"& CustName =&#34 ; + Server.UrlEncode(c)+""); }

答案 1 :(得分:0)

你应该Encode网址。尝试使用HttpUtility.UrlEncode。像:

System.Web.HttpUtility.UrlEncode("A & A CONTAINER CONVERSIONS")

答案 2 :(得分:0)

由于名称“A& A CONTAINER CONVERSIONS”包含特殊字符“&” (Ampersand),它在查询字符串中具有特殊含义。

&安培;用于分隔查询字符串中的多个值。 例如:?a=123&b=hi&c=bye

在上面的例子中,查询字符串有3个值由“&”分隔只要。

因此,您必须使用this

对名称进行编码