web-dev-qa-db-fra.com

Génération de requête de chaîne MVL3 Url.Action

J'essaie de générer une URL pour une action MVC 3 dans un environnement javascript (dans un fichier 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>

Maintenant, cela fonctionne presque très bien, mon problème est que la chaîne de requête s'échappe. Au lieu de:

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

il génère:

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

donc mon action n'est pas appelée.

Maintenant, je sais que je peux créer ma propre fonction d'assistance URL personnalisée, mais je me demandais si je pouvais utiliser ceci ou un autre assistant intégré pour obtenir l'URL non échappée?

Merci d'avance, 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 a fonctionné pour moi pas HtmlUrl.Action

Prendre plaisir!

4
Har