为什么 # 在查询字符串中不起作用

本文关键字:不起作用 字符串 查询 为什么 | 更新日期: 2023-09-27 18:36:59

在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

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

为什么 # 在查询字符串中不起作用

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

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