Mam ten kod i chciałbym dodać klasę do linku. Czy można to zrobić w MVC3?
Html.ActionLink("Create New", "Create")
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;" }
)
@Html.ActionLink("ClickMe", // link text
"Index", // action name
"Home", // controller
new { id = 2131 }, // (optional) route values
new { @class = "someClass" }) // html attributes
@style
jest złą praktyką. IMO jest tak samo złe jak używanie <div style="color:red;">
. Użyj klasy CSS.
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 });
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.