79 votes

Puis-je ajouter une classe à un HTML.ActionLink dans MVC3

J'ai ce code et j'aimerais ajouter une classe au lien. Est-il possible de faire cela dans MVC3?

 Html.ActionLink("Create New", "Create")
 

141voto

Damb Points 6587

Oui, vous pouvez simplement ajouter un autre paramètre avec un objet représentant la classe css:

 Html.ActionLink("Create New", "Create", CONTROLLERNAME, null, new { @class= "yourCSSclass"} )
 

Il peut être traduit en:

 Html.ActionLink(link text, action name, controller name, route values object, html attributes object)
 

Modifier:

Pour ajouter des styles personnalisés, utilisez ceci:

 Html.ActionLink(
"Create New",
"Create",
CONTROLLERNAME,
null,
new { @class= "yourCSSclass", @style= "width:100px; color: red;" }
)
 

16voto

RPM1984 Points 39648
@Html.ActionLink("ClickMe",  // link text
                 "Index", // action name
                 "Home",  // controller 
                 new { id = 2131 }, // (optional) route values
                 new { @class = "someClass" }) // html attributes

6voto

archil Points 21369
Html.ActionLink("Create New", "Create", null, htmlAttributes: new { @class = "className" })

3voto

Rhapsody Points 4131

Selon la documentation , cela devrait faire l'affaire:

 Html.ActionLink("LinkText", "Action", "Controller", new { }, new {@class="css class"})
 

Edit: Merci d'avoir remarqué Dampe, j'ai mis à jour l'exemple de code.

3voto

verdesmarald Points 6632

Vous pouvez utiliser la surcharge ActionLink qui prend un paramètre htmlAttributes pour ajouter une classe à l'élément généré:

 Html.ActionLink("Create New", "Create", new {}, new { @class = cssClass });
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X