2009-09-18 7 views
84

Ich baue eine ASP.NET MVC Anwendung, mit VB.NET und ich versuche, eine CSS-Klasse zu einem Html.ActionLink mit dem Code anwenden:Wie kann ich eine CSS-Klasse auf Html.ActionLink in ASP.NET MVC anwenden?

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

Aber wenn ich laufen die Code erhalte ich die folgenden Fehler:

Compiler Error Message: BC30988: Type or 'With' expected.

ich bin neu in MVC und haben wirklich nicht viel Ahnung, was ich tue, so kann ich nicht sehen, was da los ist, wie ich bin mit Code basiert auf einem Beispiel an anderer Stelle.

+0

Gibt es trotzdem, dies zu tun * ohne * eine anonyme Klasse zu verwenden? –

+0

Es gibt keine solche Signatur für die Html.ActionLink-Methode mit (string, string, string, object). – twk

Antwort

40

Es ist:

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

Wenn VB.net Sie einen anonymen Typ gesetzt mit

new with {.class = "tab" } 

und, wie anders hervorgeht, sollte Ihr dritter Parameter ein Objekt sein (auch ein anonymer Typ).

0

die C# gelöscht ... hier die vb.net ist

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

Schlechte Syntax für Vb.net und es gibt keinen Konstruktor mit dieser Signatur –

+0

sorry ... standardmäßig ... ich nahm C# .. sollte vorsichtiger sein, die Frage zu lesen .. –

3

In VB.NET

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

Dies wird CSS-Klasse "link" zum Kontakt zuweisen.

Dies wird folgende HTML generieren:

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a> 
30

Diese Syntax für mich in MVC 3 Razor gearbeitet:

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

@ewomack für C# eine große Antwort hat, es sei denn, Sie brauchen nicht zusätzliche Objektwerte In meinem Fall endete ich mit etwas ähnlich wie:

@Html.ActionLink("Delete", "DeleteList", "List", new object { }, 
new { @class = "delete"}) 
+2

funktioniert perfekt auf MVC 4 –

+15

Wenn Sie don 't brauchen die Route-Werte Sie können auch' null 'als 4. Argument übergeben: '@ Html.ActionLink (" Löschen "," DeleteList "," Liste ", null, new {@class =" delete "})' – xec

43

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

@Html.ActionLink("Front Page", "Index", "Home", null, new { @class = "MenuButtons" }) 
7

Dies funktioniert für MVC 5

Verwandte Themen