2016-07-10 2 views
0

Ich konvertiere und aktualisiere gerade eine sehr alte Website zu C# MVC, und ich bin dabei, ein paar Hyperlinks zu konvertieren.Wie kann ich einen C# MVC Html ActionLink erstellen, der ein Icon enthält?

Früher haben:

<a href="details.aspx" class="btn_red">Read More <i class="fa fa-eye"></i></a> 

und ich ein paar Dinge ohne Glück versucht haben ... Die nächstgelegene ich gekommen bin, ist nur das Symbol fallen:

@Html.ActionLink("Read More", "Details", new { id = item.ID }, new {@class= "btn_red"}) 

Wie würden Ich füge das Icon hinzu und, obwohl es sich richtig anfühlt, sollte ich sogar alle Links wie diese konvertieren, oder sollte ich sie einfach ändern, da sie gut funktionieren?

Antwort

3

Die Hilfsmethode Html.ActionLink erstellt nur eine Verknüpfung, die nur ein a Element ist. Sie suchen nach einer verschachtelten Struktur, wobei ein Element ein i Element enthält. Die Hilfsmethode hat dafür keine Option. (Es ist keine besonders HTML-semantische Struktur, daher bezweifle ich, dass Out-of-the-Box-Tools das tun.)

Sie können jedoch Ihr Markup etwas mehr manuell erstellen. Etwas wie folgt aus:

<a href="@Url.Action("Details")" class="btn_red">Read More <i class="fa fa-eye"></i></a> 
+0

In aller Ehrlichkeit, ich bin glücklich, es zu tun auf diese Weise, die Sie vorschlagen (und das Hinzufügen der ID), aber ich habe versucht, alle Führer zu folgen, die ich online gelesen haben, die sagen, zu verwenden, der Actionlink-Helfer. Ganz ehrlich, ich tue es, weil sie es sagen! Gibt es irgendwelche Vorteile? In meinen Augen ist es nur mehr Verarbeitung und ich verstehe nicht, warum ich es über einfachere Standard-Links verwenden möchte. – wil

+0

@wil: Wenn Sie eine Überladung der Hilfsmethode finden, die das tut, was Sie tun wollen, dann Verwenden Sie es auf jeden Fall. Vielleicht zeigen Ihnen die Anleitungen, die Sie online gelesen haben, wie Sie dies erreichen können? Weil ich persönlich noch nie einen Weg gesehen habe, dies mit "ActionLink" zu erreichen. – David

Verwandte Themen