2010-05-28 60 views
1

我需要发送后续查询字符串:特殊字符到查询字符串.NET

http://prod.intranet.siemens.com.br/drvs/index.aspx?page=2&pag=4&varpatch=%20C:\Documents%20and%20Settings\OPE253\My%20Documents\[email protected]#! 

然后我尝试assing这一个字符串,但.NET在

http://prod.intranet.siemens.com.br/drvs/index.aspx?page=2&pag=4&varpatch=%20C:\Documents%20and%20Settings\OPE253\My%20Documents\[email protected] 

“#”打破串没有出现在查询字符串

任何想法?

+0

克里斯就在下面,值得注意的是,虽然这不是一个.Net问题,但您的浏览器不会发送任何超过'#'或散列的东西,它具有非常特定的用途,并且它都是客户端。 – 2010-05-28 16:37:38

回答

6

没有,因为“#”是保留字符。它被用来链接在网页的特定位置:

http://en.wikipedia.org/wiki/HTML_anchor#Overview

所以浏览器在“#”分裂的URL。

你需要 “#” 的编码为 “%23”

您需要使用String.Replace

Dim outputURL As String = inputURL.Replace("#", "%23") 

HttpUtility.UrlEncode(只编码查询字符串):

Dim outputQueryString As String = HttpUtility.UrlEncode(inputQueryString) 
+0

我如何编码它? – user353089 2010-05-28 16:39:45