web-dev-qa-db-fra.com

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

Je construis une application ASP.NET MVC, en utilisant 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 je lance le code je reçois l'erreur ci-dessous:

Message d'erreur du compilateur: BC30988: Type ou 'Avec' attendu.

Je suis nouveau à MVC et n'ai vraiment aucune idée de ce que je fais, je ne peux donc pas voir ce qui ne va pas là-bas, car je suis en utilisant un code basé sur un exemple ailleurs.

101
LiamGu

Il 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 l'ont fait remarquer, votre troisième paramètre devrait être un objet (pourrait également être un type anonyme).

48
Eduardo Molteni

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

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

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

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

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

Cela fonctionne pour MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
16
César León

En VB.NET

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

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

Cela générera le code HTML suivant:

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

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

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