Ich habe zwei Fragen:
- Ich frage mich, wie ich
Html.ActionLink()
in einer MVC-Ansicht keinen Linktext anzeigen kann (eigentlich ist dies der FallSite.Master
).
Es gibt keine überladene Version, die keinen Linktext zulässt. Wenn ich versuche, nur ein Leerzeichen zu übergeben string
, teilt mir der Compiler mit, dass eine nicht leere Zeichenfolge erforderlich ist.
Wie kann ich das beheben?
Ich muss
<span>
Tags in das Ankertag einfügen, aber es funktioniert nicht mitHtml.ActionLink();
. Ich möchte die folgende Ausgabe sehen:Span Text
Wie kann ich Tags in das Ankertag in ASP.NET MVC einfügen?
c#
.net
asp.net-mvc
actionlink
MegaMatt
quelle
quelle
<li>
Sie sehen, ist eine bestimmte Navigationsschaltfläche (mit Größe, Hintergrundposition usw., die im CSS-Stylesheet angegeben sind). Aber es muss mit etwas verknüpft sein, damit ich den Text nicht anzeigen möchte. Ich möchte, dass das Sprite das für mich tut.Antworten:
Anstatt Html.ActionLink zu verwenden, können Sie eine URL über Url.Action rendern
Und um eine leere URL zu machen, die Sie haben könnten
quelle
<a [email protected]("Create", "Product")><span>Create</span></a>
funktioniert auch. Die Anführungszeichen sind nicht erforderlich.Eine benutzerdefinierte HtmlHelper-Erweiterung ist eine weitere Option. Hinweis : ParameterDictionary ist mein eigener Typ. Sie könnten ein RouteValueDictionary ersetzen, müssten es aber anders erstellen.
quelle
Hier ist eine (niedrige und schmutzige) Problemumgehung für den Fall, dass Sie Ajax oder eine Funktion verwenden müssen, die Sie nicht verwenden können, wenn Sie manuell einen Link erstellen (mithilfe eines Tags):
Sie können jeden Text anstelle von 'LinkTextToken' verwenden. Er muss nur ersetzt werden. Es ist nur wichtig, dass er nirgendwo anders in actionlink vorkommt.
quelle
Html.Raw()
date-
Attribute manuell festlegen möchte , ist dies die beste Lösung für mich. +1Verwenden Sie einfach
Url.Action
anstelle vonHtml.ActionLink
:quelle
Das hat bei mir immer gut funktioniert. Es ist nicht chaotisch und sehr sauber.
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>
quelle
Am Ende hatte ich eine benutzerdefinierte Erweiterungsmethode. Wenn Sie versuchen, HTML in ein Ankerobjekt einzufügen, kann der Linktext entweder links oder rechts vom inneren HTML stehen. Aus diesem Grund habe ich mich dafür entschieden, Parameter für linkes und rechtes inneres HTML bereitzustellen - der Linktext befindet sich in der Mitte. Sowohl linkes als auch rechtes inneres HTML sind optional.
Erweiterungsmethode ActionLinkInnerHtml:
Anwendungsbeispiel:
Hier ist ein Anwendungsbeispiel. Für dieses Beispiel wollte ich nur das innere HTML auf der rechten Seite des Linktextes ...
Ergebnisse:
Dies führt zu folgendem HTML ...
quelle
Ich dachte, dies könnte nützlich sein, wenn Bootstrap und einige Glypicons verwendet werden:
Daraufhin wird ein A-Tag mit einem Link zu einem Controller und einem schönen Büroklammersymbol angezeigt, das einen Download-Link darstellt, und die HTML-Ausgabe wird sauber gehalten
quelle
Hier ist eine übermäßige Erweiterung der Antwort von @ tvanfosson. Ich war davon inspiriert und habe beschlossen, es allgemeiner zu gestalten.
quelle
Es ist sehr einfach.
Wenn Sie so etwas wie ein Glyphikonsymbol und dann "Wunschliste" haben möchten,
quelle
Meine Lösung mit Bootstrap-Komponenten:
quelle
Bitte versuchen Sie es mit dem folgenden Code, der Ihnen helfen kann.
quelle