urlencode所有查询字符串参数

Tim*_*and 4 asp.net urlencode

有没有办法url编码整个URL查询字符串而不尝试urlencode每个单独的查询字符串参数.现在我不得不用这样的东西重建查询字符串:

foreach (string x in Page.Request.QueryString.Keys)
{
 sQueryString += x + "=" + Server.UrlEncode(Request.Params.Get(x)) + "&";
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 6

您应该做的就是获得以下值:

Page.Request.Url.Query
Run Code Online (Sandbox Code Playgroud)

请参阅:

    Uri baseUri = new Uri("http://www.contoso.com/catalog/shownew.htm?date=today&<a>=<b&gt;");
    string queryString = baseUri.Query;
Run Code Online (Sandbox Code Playgroud)

The queryString参数将返回?date=today&%3Ca%3E=%3Cb%3E.

还有一个编辑 - 来自MSDN:

Query属性包含URI中包含的任何查询信息.查询信息通过问号(?)与路径信息分开,并继续到URI的末尾.返回的查询信息包括前导问号.

默认情况下,根据RFC 2396对查询信息进行转义.如果启用了国际资源标识符(IRI)或国际化域名(IDN)解析,则根据RFC 3986和RFC 3987对查询信息进行转义.