Wie kann ich in der neuesten Version (RC1) von ASP.NET MVC Html.ActionLink als Schaltfläche oder Bild anstelle eines Links rendern lassen?
asp.net-mvc
actionlink
Ryan Lundy
quelle
quelle
AjaxHelper
mit einemActionButton
), dachte ich, ich würde es unten teilen.Antworten:
Verspätete Antwort, aber Sie können es einfach halten und eine CSS-Klasse auf das htmlAttributes-Objekt anwenden.
und erstellen Sie dann eine Klasse in Ihrem Stylesheet
quelle
Ich benutze Url.Action () und Url.Content () gerne so:
Genau genommen ist der Url.Content nur für das Pathing erforderlich und nicht wirklich Teil der Antwort auf Ihre Frage.
Vielen Dank an @BrianLegg für den Hinweis, dass hierfür die neue Syntax der Razor-Ansicht verwendet werden sollte. Beispiel wurde entsprechend aktualisiert.
quelle
Aus Patricks Antwort entlehnt, stellte ich fest, dass ich dies tun musste:
um zu vermeiden, dass die Post-Methode des Formulars aufgerufen wird.
quelle
Nennen Sie mich simpel, aber ich mache es einfach:
Und Sie kümmern sich nur um das Hyperlink-Highlight. Unsere Benutzer lieben es :)
quelle
text-decoration:none
, um diese dumme Unterstreichung loszuwerden. Dies ist für einige Browser erforderlich (Firefox 11.0 sicher).Mit Bootstrap ist dies der kürzeste und sauberste Ansatz, um eine Verknüpfung zu einer Controller-Aktion zu erstellen, die als dynamische Schaltfläche angezeigt wird:
Oder um HTML-Helfer zu verwenden:
quelle
Einfach einfach :
quelle
onclick
Inhalt mitlocation.href
(soonclick="location.href='@Url.Action(....)'"
) zu umgeben, konnte ich ihn nicht zum Laufen bringen.Eine späte Antwort, aber so mache ich meinen ActionLink zu einer Schaltfläche. Wir verwenden Bootstrap in unserem Projekt, da dies praktisch ist. Das @T spielt keine Rolle, da es nur ein Übersetzer ist, den wir verwenden.
Das obige gibt einen Link wie diesen und es sieht aus wie das Bild unten:
Aus meiner Sicht:
Hoffe das hilft jemandem
quelle
new { @class="btn btn-primary" })
+ einsWenn Sie keinen Link verwenden möchten, verwenden Sie die Schaltfläche. Sie können der Schaltfläche auch ein Bild hinzufügen:
type = "button" führt Ihre Aktion aus, anstatt ein Formular zu senden.
quelle
Das kann man nicht machen
Html.ActionLink
. Sie solltenUrl.RouteUrl
die URL verwenden und verwenden, um das gewünschte Element zu erstellen.quelle
<button onclick="location.href='@Url.Action("NewCustomer", "Customers")'">Checkout >></button>
quelle
Eine einfache Möglichkeit, Ihren Html.ActionLink in eine Schaltfläche zu verwandeln (solange Sie BootStrap angeschlossen haben - was Sie wahrscheinlich haben), ist wie folgt:
quelle
Noch spätere Antwort, aber ich bin gerade auf ein ähnliches Problem gestoßen und habe am Ende meine eigene Image Link HtmlHelper-Erweiterung geschrieben .
Eine Implementierung finden Sie in meinem Blog unter dem obigen Link.
Nur hinzugefügt, falls jemand eine Implementierung sucht.
quelle
Anzeigen eines Symbols mit dem Link
quelle
Tun Sie, was Mehrdad sagt - oder verwenden Sie den URL-Helfer einer
HtmlHelper
Erweiterungsmethode wie Stephen Walther, die hier beschrieben wird , und erstellen Sie Ihre eigene Erweiterungsmethode, mit der Sie alle Ihre Links rendern können.Dann ist es einfach, alle Links als Schaltflächen / Anker oder nach Belieben zu rendern - und vor allem können Sie Ihre Meinung später ändern, wenn Sie feststellen, dass Sie tatsächlich eine andere Art der Erstellung Ihrer Links bevorzugen.
quelle
Sie können Ihre eigene Erweiterungsmethode erstellen.
Schauen Sie sich meine Implementierung an
dann benutze es aus deiner Sicht, schau dir meinen Anruf an
quelle
Für Material Design Lite und MVC:
quelle
quelle
Es scheint viele Lösungen zu geben, wie ein Link erstellt werden kann, der als Bild angezeigt wird, aber keine, die ihn als Schaltfläche erscheinen lässt.
Es gibt nur einen guten Weg, den ich gefunden habe, um dies zu tun. Es ist ein bisschen hacky, aber es funktioniert.
Sie müssen lediglich eine Schaltfläche und einen separaten Aktionslink erstellen. Machen Sie den Aktionslink mit CSS unsichtbar. Wenn Sie auf die Schaltfläche klicken, kann das Klickereignis des Aktionslinks ausgelöst werden.
Es kann schwierig sein, dies jedes Mal zu tun, wenn Sie einen Link hinzufügen, der wie eine Schaltfläche aussehen muss, aber das gewünschte Ergebnis erzielt.
quelle
benutze FORMACTION
quelle
Ich habe gerade diese Erweiterung gefunden , um es zu tun - einfach und effektiv.
quelle
Ich habe es so gemacht, dass der actionLink und das Bild getrennt sind. Setzen Sie das Actionlink-Image als ausgeblendet und fügen Sie dann einen jQuery-Trigger-Aufruf hinzu. Dies ist eher eine Problemumgehung.
Auslösebeispiel:
quelle
Url.Action()
Sie erhalten die nackte URL für die meisten Überladungen vonHtml.ActionLink
, aber ich denke, dass dieURL-from-lambda
Funktionalität nur bisHtml.ActionLink
jetzt verfügbar ist. Hoffentlich werden sieUrl.Action
irgendwann eine ähnliche Überlastung hinzufügen .quelle
So habe ich es ohne Scripting gemacht:
Gleich, aber mit Parameter- und Bestätigungsdialog:
quelle