Come posso applicare una classe CSS a Html.ActionLink in ASP.NET MVC?
-
22-07-2019 - |
Domanda
Sto creando un'applicazione ASP.NET MVC , usando VB.NET e sto provando ad applicare una classe css a un Html.ActionLink
utilizzando il codice:
<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>
Ma quando eseguo il codice ricevo il seguente errore:
Messaggio di errore del compilatore: BC30988: Tipo o 'Con' previsto.
Sono nuovo su MVC e non ho idea di cosa stia facendo, quindi non riesco a vedere cosa c'è che non va in quanto sto usando un codice basato su un esempio altrove .
Soluzione
È:
<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>
Se VB.net imposti un tipo anonimo usando
new with {.class = "tab" }
e, come altri sottolineano, il tuo terzo parametro dovrebbe essere un oggetto (potrebbe essere anche un tipo anonimo).
Altri suggerimenti
@ewomack ha un'ottima risposta per C #, a meno che non ti servano valori di oggetti extra. Nel mio caso, ho finito per usare qualcosa di simile a:
@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
In C # funziona anche con un null come quarto parametro.
@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
Questa sintassi ha funzionato per me in MVC 3 con Razor:
@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
Funziona con 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"})%>
Questo assegnerà la classe css " link " al Contattaci.
Questo genererà il seguente HTML:
<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
ha eliminato il c # ... ecco il vb.net
<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>