web-dev-qa-db-ja.com

MVC3 Url.Actionクエリ文字列の生成

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.

41
egyedg
<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>
var src = "@Html.Raw(Url.Action("GetProductImage", new { productId = Model.Product.Id, pos = 1, size = 0 }))";

Url.Actionは私のために働いたnot HtmlUrl.Action

楽しい!

4
Har