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

je construis un ASP.NET MVC application, using VB.NET et j'essaie d'appliquer une classe css à un Html.ActionLink en utilisant le code:

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

mais quand j'exécute le code je reçois l'erreur suivante:

message d'erreur du compilateur: BC30988: Type or 'With' expected.

je suis nouveau MVC et n'ont pas vraiment beaucoup d'un indice ce que je fais donc je ne peux pas voir ce qui ne va pas là-bas que je suis en utilisant le code basé sur un exemple ailleurs.

94
demandé sur GEOCHET 2009-09-18 17:17:11

7 réponses

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 le soulignent, votre troisième paramètre devrait être un objet (peut-être un type anonyme, aussi).

45
répondu Eduardo Molteni 2009-11-27 13:26:06

@ewomack a une bonne réponse pour C#, à moins que vous n'ayez pas besoin de valeurs supplémentaires. Dans mon cas, j'ai fini par utiliser quelque chose de similaire à:

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
139
répondu adamgede 2011-11-12 20:06:03

dans C# il fonctionne aussi avec un nul comme quatrième paramètre.

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
46
répondu coding_is_fun 2014-10-15 08:54:30

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"})
31
répondu ewomack 2011-05-13 19:45:27

ça marche pour MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
10
répondu César León 2016-05-11 13:19:06

In VB.NET

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

cela assignera la classe css" link " au Contact Us.

cela générera le HTML suivant:

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
3
répondu H Sampat 2010-01-06 13:46:16

supprimé le c#... voici le vb.net

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>
0
répondu rajesh pillai 2009-09-18 13:49:11