¿Cómo aplico una clase CSS a Html.ActionLink en ASP.NET MVC?
-
22-07-2019 - |
Pregunta
Estoy creando una aplicación ASP.NET MVC , usando VB.NET y estoy tratando de aplicar una clase CSS a un Html.ActionLink
usando el código:
<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>
Pero cuando ejecuto el código recibo el siguiente error:
Mensaje de error del compilador: BC30988: Escriba o 'Con' esperado.
Soy nuevo en MVC y realmente no tengo ni idea de lo que estoy haciendo, así que no puedo ver qué pasa allí, ya que estoy usando código basado en un ejemplo en otro lugar .
Solución
Es:
<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>
Si VB.net establece un tipo anónimo usando
new with {.class = "tab" }
y, como otros señalan, su tercer parámetro debería ser un objeto (también podría ser un tipo anónimo).
Otros consejos
@ewomack tiene una excelente respuesta para C #, a menos que no necesite valores de objeto adicionales. En mi caso, terminé usando algo similar a:
@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
En C # también funciona con un valor nulo como el cuarto parámetro.
@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
Esta sintaxis funcionó para mí en MVC 3 con Razor:
@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
Esto funciona para MVC 5
@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
En VB.NET
<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>
Esto asignará la clase css '' link '' al contacto.
Esto generará el siguiente HTML:
<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
eliminó el c # ... aquí está el vb.net
<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>