MVC3 Url.Action генерация строки запроса - PullRequest
41 голосов
/ 03 мая 2011

Я пытаюсь сгенерировать URL для действия MVC 3 в среде javascript (в файле cshtml).

<script type="text/javascript">
  ...
  var src = "@Url.Action("GetProductImage", new { productId = Model.Product.Id, pos = 1, size = 0 })";
  $(document.createElement("img")).attr("src", src);
  ...
</script>

Теперь это работает почти нормально, моя проблема в том, что строка запроса экранируется.Вместо:

"/Products/GetProductImage?productId=1&pos=0&size=0"

он генерирует:

"/Products/GetProductImage?productId=1&amp;pos=0&amp;size=0"

, поэтому мое действие не вызывается.

Теперь я знаю, что могу сделать свою собственную вспомогательную функцию Url-помощника., но мне было интересно, смогу ли я использовать этот или какой-то другой встроенный помощник для получения неэкранированного URL?

Заранее спасибо, G.

Ответы [ 2 ]

63 голосов
/ 03 мая 2011
<script type="text/javascript">
   var src = "@Html.Raw(Url.Action("GetProductImage", new { productId = Model.Product.Id, pos = 1, size = 0 }))";
   $(document.createElement("img")).attr("src", src);
</script>
4 голосов
/ 01 февраля 2012
var src = "@Html.Raw(Url.Action("GetProductImage", new { productId = Model.Product.Id, pos = 1, size = 0 }))";

Url.Action работал для меня не HtmlUrl.Action

Наслаждайтесь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...