Wie wende ich eine CSS-Klasse auf Html.ActionLink in ASP.NET MVC an?

104

Ich erstelle eine ASP.NET MVC- Anwendung mit VB.NET und versuche, eine CSS-Klasse Html.ActionLinkmit dem folgenden Code auf eine anzuwenden :

<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>

Aber wenn ich den Code ausführe, erhalte ich die folgende Fehlermeldung:

Compiler-Fehlermeldung: BC30988: Typ oder 'Mit' erwartet.

Ich bin neu bei MVC und habe wirklich keine Ahnung, was ich tue. Daher kann ich nicht erkennen, was dort falsch ist, da ich Code verwende, der auf einem anderen Beispiel basiert.

LiamGu
quelle
Es gibt keine solche Signatur für die Html.ActionLink-Methode mit (Zeichenfolge, Zeichenfolge, Zeichenfolge, Objekt).
Twk
Gibt es überhaupt eine Möglichkeit, dies ohne Verwendung einer anonymen Klasse zu tun ?
3Dave

Antworten:

48

Es ist:

<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>

In VB.net legen Sie mit einen anonymen Typ fest

new with {.class = "tab" }

und wie andere darauf hinweisen, sollte Ihr dritter Parameter ein Objekt sein (könnte auch ein anonymer Typ sein).

Eduardo Molteni
quelle
153

@ewomack hat eine großartige Antwort für C #, es sei denn, Sie benötigen keine zusätzlichen Objektwerte. In meinem Fall habe ich etwas Ähnliches verwendet wie:

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
adamgede
quelle
18
Wenn Sie die null@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
Routenwerte
56

In C # funktioniert es auch mit einer Null als 4. Parameter.

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
coding_is_fun
quelle
Dies ist hilfreich, denn wenn Sie null hinzufügen, erhalten Sie eine standardmäßige und saubere URL-Anfrage
Sumanstm21
33

Diese Syntax hat bei mir in MVC 3 mit Razor funktioniert:

@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
ewomack
quelle
17

Dies funktioniert für MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
César León
quelle
Zur Verwendung in einem MVC 5 ActionLink mit folgenden Parametern: @ Html.ActionLink ("Text des Links", "Aktion", "Controller-Name", neu {myParam = "XXX"}, neu {@style = "Farbe: schwarz" })
mggSoft
3

In VB.NET

<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>

Dadurch wird dem Kontakt eine CSS-Klasse "Link" zugewiesen.

Dadurch wird folgender HTML-Code generiert:

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
H Sampat
quelle
0

löschte das c # ... hier ist das vb.net

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>
Rajesh Pillai
quelle
Schlechte Syntax für Vb.net und es gibt keinen Konstruktor mit dieser Signatur
Eduardo Molteni
sorrry ... standardmäßig ... ich nahm c # .. hätte vorsichtiger die Frage lesen sollen ..
Rajesh Pillai