Dans la dernière version (RC1) d'ASP.NET MVC, comment obtenir le rendu de Html.ActionLink sous forme de bouton ou d'image au lieu d'un lien?
asp.net-mvc
actionlink
Ryan Lundy
la source
la source
AjaxHelper
avec unActionButton
), j'ai pensé le partager ci-dessous.Réponses:
Réponse tardive mais vous pouvez simplement rester simple et appliquer une classe CSS à l'objet htmlAttributes.
puis créez une classe dans votre feuille de style
la source
J'aime utiliser Url.Action () et Url.Content () comme ceci:
À strictement parler, le contenu Url.Content uniquement nécessaire pour le cheminement ne fait pas vraiment partie de la réponse à votre question.
Merci à @BrianLegg d'avoir souligné que cela devrait utiliser la nouvelle syntaxe de vue Razor. L'exemple a été mis à jour en conséquence.
la source
Empruntant à la réponse de Patrick, j'ai constaté que je devais faire ceci:
pour éviter d'appeler la méthode post du formulaire.
la source
Appelez-moi simpliste, mais je fais juste:
Et vous vous occupez simplement de la surbrillance de l'hyperlien. Nos utilisateurs l'adorent :)
la source
text-decoration:none
pour se débarrasser de ce stupide soulignement. Cela est nécessaire pour certains navigateurs (Firefox 11.0 à coup sûr).En utilisant bootstrap, c'est l'approche la plus courte et la plus propre pour créer un lien vers une action de contrôleur qui apparaît comme un bouton dynamique:
Ou pour utiliser des assistants HTML:
la source
Tout simplement :
la source
onclick
contenu delocation.href
(donconclick="location.href='@Url.Action(....)'"
) je ne pouvais pas le faire fonctionner.Une réponse tardive, mais c'est ainsi que je transforme mon ActionLink en bouton. Nous utilisons Bootstrap dans notre projet car cela le rend pratique. Peu importe le @T car ce n'est qu'un traducteur que nous utilisons.
Ce qui précède donne un lien comme celui-ci et il ressemble à l'image ci-dessous:
À mon avis:
J'espère que cela aide quelqu'un
la source
new { @class="btn btn-primary" })
+ onesi vous ne souhaitez pas utiliser de lien, utilisez le bouton. vous pouvez également ajouter une image au bouton:
type = "button" exécute votre action au lieu de soumettre le formulaire.
la source
Vous ne pouvez pas faire ça avec
Html.ActionLink
. Vous devez utiliserUrl.RouteUrl
et utiliser l'URL pour construire l'élément que vous souhaitez.la source
<button onclick="location.href='@Url.Action("NewCustomer", "Customers")'">Checkout >></button>
la source
Un moyen simple de faire de votre Html.ActionLink un bouton (tant que vous avez BootStrap branché - que vous avez probablement) est comme ceci:
la source
Réponse encore plus tard, mais je suis juste tombé sur un problème similaire et j'ai fini par écrire ma propre extension HtmlHelper de lien d'image .
Vous pouvez en trouver une implémentation sur mon blog dans le lien ci-dessus.
Juste ajouté au cas où quelqu'un traquerait une implémentation.
la source
Pour afficher une icône avec le lien
la source
Faites ce que Mehrdad dit - ou utilisez l'assistant d'URL d'une
HtmlHelper
méthode d'extension comme Stephen Walther le décrit ici et créez votre propre méthode d'extension qui peut être utilisée pour rendre tous vos liens.Ensuite, il sera facile de rendre tous les liens sous forme de boutons / ancres ou selon votre préférence - et, plus important encore, vous pourrez changer d'avis plus tard lorsque vous découvrirez que vous préférez réellement une autre façon de créer vos liens.
la source
vous pouvez créer votre propre méthode d'extension
regardez mon implémentation
puis utilisez-le à votre avis, regardez mon appel
la source
Pour Material Design Lite et MVC:
la source
la source
Il semble y avoir beaucoup de solutions sur la façon de créer un lien qui s'affiche sous forme d'image, mais aucune qui le fait apparaître comme un bouton.
Il n'y a qu'un bon moyen que j'ai trouvé pour le faire. C'est un peu hacky, mais ça marche.
Ce que vous devez faire est de créer un bouton et un lien d'action séparé. Rendez le lien d'action invisible à l'aide de css. Lorsque vous cliquez sur le bouton, il peut déclencher l'événement de clic du lien d'action.
Cela peut être pénible de le faire chaque fois que vous ajoutez un lien qui doit ressembler à un bouton, mais cela donne le résultat souhaité.
la source
utiliser FORMACTION
la source
Je viens de trouver cette extension pour le faire - simple et efficace.
la source
La façon dont je l'ai fait est d'avoir l'actionLink et l'image séparément. Définissez l'image du lien d'action comme masquée, puis ajoutez un appel de déclencheur jQuery. Il s'agit plus d'une solution de contournement.
Exemple de déclenchement:
la source
Url.Action()
vous obtiendrez l'URL nue pour la plupart des surchargesHtml.ActionLink
, mais je pense que laURL-from-lambda
fonctionnalité n'est disponibleHtml.ActionLink
que jusqu'à présent. J'espère qu'ils ajouteront une surcharge similaireUrl.Action
à un moment donné.la source
Voici comment je l'ai fait sans script:
Idem, mais avec boîte de dialogue de paramètres et de confirmation:
la source