MVC3 Url.Action查询字符串生成

时间:2011-05-03 15:49:54

标签: asp.net-mvc asp.net-mvc-3 url razor query-string

我正在尝试在javascript环境(在cshtml文件中)中生成MVC 3操作的URL。

<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 个答案:

答案 0 :(得分:63)

<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>

答案 1 :(得分:4)

var src = "@Html.Raw(Url.Action("GetProductImage", new { productId = Model.Product.Id, pos = 1, size = 0 }))";

Url.Action为我工作 HtmlUrl.Action

享受!