Ajouter des images dans Html.ActionLink
J'ai essayé de créer une option pour basculer entre un affichage de liste et l'afficher dans le widget ASP.net MVC (avec moteur de vue razor).
Cependant, je vais avoir quelques difficultés en essayant à la fois d'ajouter une image, ainsi que l'échelle à la "bonne taille" (la même hauteur que la prochaine à côté d'elle).
Je cherchais à créer quelque chose comme:
Résultat Souhaité:
---------------------------------------------------------------------------------
[≡] List View | [+] Widget View
---------------------------------------------------------------------------------
où la [≡]
et [+]
étaient en fait des petites images de l'icône.
Tentatives à ce jour comprennent:
Le lien d'action était quelque chose comme:
@Html.ActionLink("List View", "listView",
new { @style = "background-image:url('~/Content/Images/listIcon.png')" },null)
qui affiche uniquement le texte.
J'ai aussi essayé de créer le actionlink comme:
<img src="~/Content/Images/listIcon.png" />@Html.ActionLink("List View", "Index")
mais ce résolues dans
a) l'image n'était pas une partie de la liaison; et
b) l'image a été presque deux fois la taille du texte (similaire à l'illustration ci-dessous)
_ _ _ _
| | | |
| icon | | icon |
|_ _| List View | |_ _| Widget View
Je n'aurais même pas à l'esprit d'essayer de le créer comme:
Alternative:
---------------------------------------------------------------------------------
_ _ _ _
| | | |
| icon | List View | | icon | Widget View
|_ _| |_ _|
si je avait.
Quelqu'un connaît/conseiller sur la façon de résoudre les créer?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Url.Action pour le lien hypertexte et Url.Contenu pour la source de l'image.
Ensuite, vous pouvez définir le style de l'apparence avec les CSS.
Vous avez besoin pour créer l'ancre à la main, et la place de l'utilisation de la
@Html.ActinLink
assistant... vous pouvez utiliser le@Url.Action
helperLa taille de l'image peut être modifiée via CSS.
L'Url.Action vous donne le lien de votre action".
Le ActionLink, crée un point d'ancrage avec le lien vers l'action.
La raison pour laquelle ce code ne fonctionne pas:
était parce que le 3e paramètre de @Html.ActionLink consiste à ajouter de l'itinéraire valeurs. Si vous voulez ajouter d'autres attributs HTML, vous devez utiliser:
En outre, comme d'autres l'ont dit, vous ne pouvez pas utiliser la ~.
Noter que les styles en ligne sont généralement mal vu, comme la meilleure pratique serait de créer une classe CSS qui contient votre image de fond d'écran et ajouter la classe comme l'attribut HTML à la place, mais @style fonctionnellement travail ici. Plus d'info sur le pourquoi des styles en ligne sont les mauvais peuvent être trouvés ici: Ce qui est si mal à propos dans la ligne de CSS?
Essayez ceci: