获取当前URL - 当URL包含具有多个值的查询字符串时

时间:2012-02-08 19:42:27

标签: c# .net asp.net-mvc-3 urlencode

我注意到无论用什么方法获取当前请求的URL,查询字符串&符号总是被编码。

Request.RawUrl
Request.Url
HttpContext.Current.Request.Url.AbsoluteUri

将始终生成编码结果(请注意&):

/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge
http://domain/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge
http://domain/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge

如何确保返回的URL不以这种方式编码,并显示为:

/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge
http://domain/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge

任何帮助都非常感激 - 我确信我错过了一些明显的东西!

2 个答案:

答案 0 :(得分:4)

URL是否实际编码,或者您是否将其输出到浏览器,并且浏览器中的输出是否已编码?如果是这种情况,您可以使用@ Html.Raw(url)绕过MVC的自动HTML编码来修复。

答案 1 :(得分:2)

打印您的网址,而不使用以下代码进行编码:

@Html.Raw(Request.Url)