Получение текущего URL - когда в URL включена строка запроса с несколькими значениями - PullRequest
2 голосов
/ 08 февраля 2012

Я заметил, что какой бы метод я не использовал для получения текущего 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 ]

4 голосов
/ 08 февраля 2012

URL действительно закодирован, или вы выводите его в браузер, а выходные данные в браузере кодируются? Если это так, вы можете исправить это, используя @ Html.Raw (url), чтобы обойти автоматическое кодирование HTML MVC.

2 голосов
/ 09 февраля 2012

Распечатайте ваш URL без кодировки:

@Html.Raw(Request.Url)
...