Come si applica una classe CSS a Html.ActionLink in ASP.NET MVC?


104

Sto costruendo un'applicazione ASP.NET MVC , utilizzando VB.NET e sto cercando di applicare una classe css a una Html.ActionLinkutilizzando 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 in MVC e davvero non ho la più pallida idea di cosa sto facendo, quindi non riesco a vedere cosa c'è che non va lì perché sto usando codice basato su un esempio altrove.


Non esiste una tale firma per il metodo Html.ActionLink con (string, string, string, object).
— twk

Esiste comunque per farlo senza utilizzare una classe anonima?
— 3Dave il

Risposte:


48

È:

<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>

In VB.net imposti un tipo anonimo usando

new with {.class = "tab" }

e, come altro sottolineato, il terzo parametro dovrebbe essere un oggetto (potrebbe essere anche un tipo anonimo).


153

@ewomack ha un'ottima risposta per C #, a meno che non siano necessari valori oggetto aggiuntivi. Nel mio caso, ho finito per usare qualcosa di simile a:

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

18
Se non hai bisogno dei valori del percorso, puoi anche passare nullcome 4 ° argomento:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
— xec

56

In C # funziona anche con un null come quarto parametro.

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

Questo è utile perché quando aggiungi null,
— ricevi una

33

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

17

Questo funziona per MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })

Da utilizzare in un ActionLink MVC 5 con parametri: @ Html.ActionLink ("Text of the link", "Action", "Controller name", new {myParam = "XXX"}, new {@style = "color: black" })
— mggSoft

3

In VB.NET

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

Questo assegnerà il "link" alla classe CSS al campo Contattaci.

Questo genererà il seguente HTML:

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

0

cancellato il c # ... ecco il vb.net

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

Cattiva sintassi per Vb.net e non esiste un costruttore con questa firma
— Eduardo Molteni

sorrry ... per impostazione predefinita ... ho preso c # .. avrei dovuto essere più attento a leggere la domanda ..
— rajesh pillai
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.