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.


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).


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"})

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" })

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"})

17

Dies funktioniert für MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })

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>

0

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

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.