Ist es möglich, einen ActionLink, der ein element enthält?
Wie die Frage sagt, Ist es möglich, einen ActionLink, der ein element enthält, und wenn nicht, was ist der beste Weg, es zu erreichen?
Zum Beispiel, können sagen, ich habe eine Span
element, ich will, dass die ganze Sache ein hyperlink sein... Die folgenden Werke:
<a href="/Site/Page/@Model.ID?Type=test">
<span class="box5">Click anywhere in this box</span> </a>
Vorstellen, dass span - /css-Klasse box5 macht, dieses... War ursprünglich ein DIV, aber ich fand, dass nicht zu Folgen, standards und dies scheint zu Folgen, ok.
Diese gerendert und funktioniert gut, aber es ist trotzdem verwenden einen ActionLink statt? Ich habe versucht zu erraten, die syntax wie (kopieren von Formen):
@using (Html.Actionlink){<span class="box5">Click anywhere in this box</span>}
und viele andere Kombinationen ohne Glück.
Nun, mein Handbuch HTML-workaround funktioniert einwandfrei und ich bin glücklich, es zu verlassen, aber, ist es möglich, eine MVC-ActionLink, und wenn es ist, sollte ich auch Sorge/würde es irgendwelche Vorteile?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach @Url.Aktion statt:
Gibt es einen hack, die Sie verwenden können, um zu arbeiten, um die Beschränkung
es ist nicht elegant, aber es macht den job
@Html.Raw()
scheint, den trick zu tun... Auf den ersten, das sieht verwirrend aus, aber es ist erstaunlich!Html.ActionLink
ist nur eine einfache alte Extension-Methode derHtmlHelper
Objekt.Können Sie erstellen Sie Ihre eigenen benutzerdefinierte Erweiterung Methoden
HtmlHelper
als gut, und Sie sind ziemlich einfach zu tun und sparen Sie Unmengen Zeit.Können Sie nicht angeben, ein html-tag innerhalb actionlink, aber ich kann schlagen Sie zwei Lösungen:
1 ziehen Sie die actionlink mit Ihrer Funktion. So können Sie auch umsetzen actionlink erzeugen href mit anderen htmal-tag in (img oder span, wie in Ihrem Fall)
2 mit der url.Inhalt in der href. Es ist wie Ihre tatsächliche workaround, aber besser, weil man die Regeln, die Sie definiert haben, in der globalen.asax statt mit "magic string"
Schreiben Sie Einfach
<span> </span>
und zwischen den span verwenden Sie die @html>ActionLink-Methode funktioniert Es