为什么#不能在查询字符串中工作?

时间:2013-10-25 08:26:12

标签: c# asp.net query-string

在cs.aspx页面中,我有一个包含以下代码的按钮:

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("~/cs.aspx?p=ali#25");
}

在page_load中,我获取查询字符串并显示它:

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.QueryString["p"] != null)
    {
        string p = Request.QueryString["p"];
        Response.Write("p= "+p);
    }
}
查询字符串中的

p  = ali#25 

但在运行时显示

p = ali

为什么#之后的字符串没有显示。

1 个答案:

答案 0 :(得分:1)

找到了解决方案。使用 Server.UrlEncode

Response.Redirect("~/cs.aspx?pass="+Server.UrlEncode("a#25"));