如何在查询字符串中传递 '#' 符号

5
我想将“#”传递到查询字符串中,例如?page.aspx?someParam=1234#5
5个回答

14

请在您的查询字符串上使用 Server.UrlEncode,它将为您解析 '#' 符号。


3
实际上,我认为你想要进行URL编码,而不是HTML编码。二者有所不同。 - David
3
我想您可能是指UrlEncode……http://msdn.microsoft.com/zh-cn/library/zttxte6w.aspx - Chris
这是一个非常棒的答案,向hatsoft致敬! - Exitos
我发现一件事,你不必使用Server.UrlDecode,只需使用Request.QueryString["someParam"]。 - Shomaail

10

尝试使用%23。这是#的URL编码值。


4

将井号字符进行URL编码:%23


0
尝试在URL中使用escape(url参数值)方法,而不仅仅是参数值。

0

在 asp.net 查询字符串中传递 #& 和其他特殊字符的最佳方法是使用 Server.UrlEncode()
请参考以下示例。

  private void btnSubmit_Click(object sender, System.EventArgs e)
  {
     Response.Redirect("page.Aspx?"+"someParam="+Server.UrlEncode("1234#5")); 
  } 


或者使用%23替换#,但我认为更合适的方法是使用Server.UrlEncode(),这样您就可以使用其他特殊字符而不会出现任何问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接