J'ai deux questions:
- Je me demande comment je peux afficher aucun texte de lien lors de l'utilisation
Html.ActionLink()
dans une vue MVC (en fait, c'est le casSite.Master
).
Il n'y a pas de version surchargée qui n'autorise pas le texte de lien, et lorsque j'essaie de ne passer qu'un vide string
, le compilateur me dit qu'il a besoin d'une chaîne non vide.
Comment puis-je réparer cela?
J'ai besoin de mettre des
<span>
balises dans la balise d'ancrage, mais cela ne fonctionne pas avecHtml.ActionLink();
. J'aimerais voir la sortie suivante:Texte de portée
Comment puis-je placer des balises à l'intérieur de la balise d'ancrage dans ASP.NET MVC?
c#
.net
asp.net-mvc
actionlink
MegaMatt
la source
la source
<li>
que vous voyez est un bouton de navigation particulier (avec la taille, la position d'arrière-plan, etc. spécifiée dans la feuille de style css). Mais il doit être lié à quelque chose, donc je ne veux pas afficher le texte. Je veux que le sprite fasse ça pour moi.Réponses:
Au lieu d'utiliser Html.ActionLink, vous pouvez afficher une URL via Url.Action
Et pour faire une URL vide, vous pourriez avoir
la source
<a [email protected]("Create", "Product")><span>Create</span></a>
fonctionne également. Les devis ne sont pas obligatoires.Une extension HtmlHelper personnalisée est une autre option. Remarque : ParameterDictionary est mon propre type. Vous pouvez remplacer un RouteValueDictionary mais vous devrez le construire différemment.
la source
Voici une solution de contournement (faible et sale) au cas où vous auriez besoin d'utiliser ajax ou une fonctionnalité que vous ne pouvez pas utiliser lorsque vous créez un lien manuellement (en utilisant une balise):
Vous pouvez utiliser n'importe quel texte au lieu de 'LinkTextToken', il n'est là que pour être remplacé, il est seulement important qu'il ne se produise nulle part ailleurs dans actionlink.
la source
Html.Raw()
date-
attributs, c'est la meilleure solution pour moi. +1Utilisez simplement à la
Url.Action
place deHtml.ActionLink
:la source
Cela a toujours bien fonctionné pour moi. Ce n'est pas salissant et très propre.
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>
la source
Je me suis retrouvé avec une méthode d'extension personnalisée. Il est intéressant de noter que lorsque vous essayez de placer du HTML à l'intérieur d'un objet Anchor, le texte du lien peut être soit à gauche, soit à droite du HTML interne. Pour cette raison, j'ai choisi de fournir des paramètres pour le HTML interne gauche et droit - le texte du lien est au milieu. Le HTML interne gauche et droit est facultatif.
Méthode d'extension ActionLinkInnerHtml:
Exemple d'utilisation:
Voici un exemple d'utilisation. Pour cet exemple, je voulais uniquement le html interne sur le côté droit du texte du lien ...
Résultats:
cela donne le HTML suivant ...
la source
J'ai pensé que cela pourrait être utile lors de l'utilisation de bootstrap et de certains glypicons:
Cela affichera une balise A, avec un lien vers un contrôleur, avec une belle icône en forme de trombone pour représenter un lien de téléchargement, et la sortie html est maintenue propre
la source
Voici une super extension de la réponse de @ tvanfosson. Je m'en suis inspiré et j'ai décidé de le rendre plus générique.
la source
C'est très simple.
Si vous voulez avoir quelque chose comme une icône de glyphicon, puis "Liste de souhaits",
la source
Ma solution utilisant des composants bootstrap:
la source
Veuillez essayer ci-dessous le code qui peut vous aider.
la source