How do I apply a CSS class to Html.ActionLink in ASP.NET MVC?
Cssasp.net Mvcvb.netHtml HelperCss Problem Overview
I'm building an ASP.NET MVC application, using VB.NET and I'm trying to apply a css class to a Html.ActionLink
using the code:
<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>
But when I run the code I receive the below error:
>Compiler Error Message: BC30988: Type or 'With' expected.
I'm new to MVC and really haven't much of a clue what I'm doing so I can't see what's wrong there as I'm using code based of an example elsewhere.
Css Solutions
Solution 1 - Css
@ewomack has a great answer for C#, unless you don't need extra object values. In my case, I ended up using something similar to:
@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
Solution 2 - Css
In C# it also works with a null as the 4th parameter.
@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
Solution 3 - Css
It is:
<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>
In VB.net you set an anonymous type using
new with {.class = "tab" }
and, as other point out, your third parameter should be an object (could be an anonymous type, also).
Solution 4 - Css
This syntax worked for me in MVC 3 with Razor:
@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
Solution 5 - Css
This works for MVC 5
@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
Solution 6 - Css
In VB.NET
<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>
This will assign css class "link" to the Contact Us.
This will generate following HTML :
<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>