Mam ten kod i chciałbym dodać klasę do linku. Czy można to zrobić w MVC3?
Html.ActionLink("Create New", "Create")
asp.net-mvc
Sango
źródło
źródło
Odpowiedzi:
Tak, możesz po prostu dodać kolejny parametr z obiektem reprezentującym klasę css:
Html.ActionLink("Create New", "Create", CONTROLLERNAME, null, new { @class= "yourCSSclass"} )
Można to przetłumaczyć na:
Html.ActionLink(link text, action name, controller name, route values object, html attributes object)
Edytować:
Aby dodać własne style, użyj tego:
Html.ActionLink( "Create New", "Create", CONTROLLERNAME, null, new { @class= "yourCSSclass", @style= "width:100px; color: red;" } )
źródło
@Html.ActionLink("ClickMe", // link text "Index", // action name "Home", // controller new { id = 2131 }, // (optional) route values new { @class = "someClass" }) // html attributes
źródło
@style
jest złą praktyką. IMO jest tak samo złe jak używanie<div style="color:red;">
. Użyj klasy CSS.Html.ActionLink("Create New", "Create", null, htmlAttributes: new { @class = "className" })
źródło
Możesz użyć przeciążenia ActionLink, które pobiera parametr htmlAttributes, aby dodać klasę do wygenerowanego elementu:
Html.ActionLink("Create New", "Create", new {}, new { @class = cssClass });
źródło
Zgodnie z dokumentacją powinno to załatwić sprawę:
Html.ActionLink("LinkText", "Action", "Controller", new { }, new {@class="css class"})
Edycja: Dzięki za zauważenie Dampe zaktualizowałem przykładowy kod.
źródło