47 votes

Image équivalent de ActionLink dans ASP.NET MVC

Dans ASP.NET MVC est-il un équivalent de l'Html.ActionLink d'assistance pour les balises Img?

J'ai une action de contrôleur des sorties généré dynamiquement, un JPEG et j'ai voulu utiliser les mêmes expressions Lambda lien vers celui-ci que je ne HREFs à l'aide de ActionLink.

Sinon, un assistant, qui donne juste l'URL de la route (encore une fois spécifié à l'aide de Lambda) serait également acceptable.

EDIT: j'avais initialement spécifié que j'étais en utilisant l'Extrait 5, cependant je vois que d'une version Bêta a été libéré. Donc, en somme, le numéro de version est une inutiles morceau de l'info, comme je l'ai peut être mise à jour bientôt :-)

47voto

Robert MacLean Points 18288

Vous pouvez utiliser l'URL.Méthode d'Action

<a href="<%= Url.Action("Create")  %>"><img src="../../Content/Images/add_48.png" /></a>

39voto

markus Points 3224

Cette question est plus ancienne, et j'ai commencé récemment avec ASP.NET MVC lorsque le RC était déjà, mais pour ceux qui trouve cette question un peu plus tard comme moi, cela peut être intéressant:

Au moins dans le RC, vous pouvez utiliser l'Url.Action() également avec les types anonymes, le résultat est beaucoup plus agréable que les suggestions ci-dessus, je suppose:

<a href="<%= Url.RouteUrl("MyRoute", new { param1 = "bla", param2 = 5 }) %>">
   put in <span>whatever</span> you want, also <img src="a.gif" alt="images" />.
</a>

Il existe de nombreuses autres surcharges pour RouteUrl aussi, bien entendu.

20voto

stevemegson Points 6741

Url.Action() vous obtiendrez le nu URL pour la plupart des surcharges de Html.ActionLink, mais je pense que l'URL-de-lambda fonctionnalité est seulement disponible via Html.ActionLink jusqu'à présent. Espérons qu'ils vont ajouter une telle surcharge de l'Url.Action à un certain point.

8voto

Alan Mendelevich Points 1900

J'ai utilisé une solution de contournement pour placer un marqueur au lieu de texte pour ActionLink et puis le remplacer par mon image de code. Quelque chose comme ceci:

<%= Html.ActionLink("__IMAGE_PLACEHOLDER__", "Products").Replace("__IMAGE_PLACEHOLDER__", "<img src=\"" + myImgUrl + "\" />")%>

Pas la solution la plus élégante, mais il fonctionne.

5voto

WEFX Points 2942

Dans MVC3, votre lien devrait ressembler à ceci:

<a href="@Url.Action("Create")"><img src="../../Content/Images/add_48.png" /></a>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X