我正在尝试在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&pos=0&size=0"
所以我的行动不会被召唤。
现在我知道我可以创建自己的自定义Url帮助函数,但我想知道我是否可以使用这个或其他内置帮助器来获取未转义的URL?
提前致谢,G。
答案 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
享受!