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.
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).
@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"})
dans C# il fonctionne aussi avec un nul comme quatriè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"})
ça marche pour MVC 5
@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
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>
supprimé le c#... voici le vb.net
<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>