特殊字符到查询字符串.NET

时间:2010-05-28 16:34:28

标签: vb.net query-string

我需要发送以下查询字符串:

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

然后我尝试将此分配给一个字符串,但.NET在

处断开字符串
   http://prod.intranet.siemens.com.br/drvs/index.aspx?page=2&pag=4&varpatch=%20C:\Documents%20and%20Settings\OPE253\My%20Documents\Ca$@

'#“不出现在查询字符串

有什么想法吗?

1 个答案:

答案 0 :(得分: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)