Comment appliquer une classe CSS à Html.ActionLink dans ASP.NET MVC?

Je construis une application ASP.NET MVC , en utilisant VB.NET et j’essaye d’appliquer une classe css à un Html.ActionLink utilisant le code:

  

Mais quand je lance le code, je reçois l’erreur ci-dessous:

Message d’erreur du compilateur: BC30988: Tapez ou “Avec” prévu.

Je ne connais pas vraiment MVC et je ne vois pas ce qui ne va pas, car j’utilise un code basé sur un exemple ailleurs.

C’est:

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

Si VB.net vous définissez un type anonyme en utilisant

 new with {.class = "tab" } 

et, comme d’autres points, votre troisième paramètre devrait être un object (ce pourrait être un type anonyme également).

@ewomack a une excellente réponse pour C #, sauf si vous n’avez pas besoin de valeurs d’object supplémentaires. Dans mon cas, j’ai fini par utiliser quelque chose de similaire à:

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

En C #, il fonctionne également avec un null comme quasortingème paramètre.

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

Cette syntaxe a fonctionné pour moi dans MVC 3 avec Razor:

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

Cela fonctionne pour MVC 5

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

Dans VB.NET

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

Cela va affecter la classe css “lien” au contact nous.

Cela générera le code HTML suivant:

 Contact Us 

supprimé le c # … voici le vb.net

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