web-dev-qa-db-fra.com

Comment pouvez-vous spécifier un nom de classe css sur ActionLinks dans Razor?

Le code suivant génère une erreur:

@Html.ActionLink("Title", "action", new { id=1 }, new { @class = "myCssClass" });

J'ai essayé d'utiliser @ car class est un mot-clé. Comment dois-je l'écrire lors de l'utilisation du rasoir?

Modifier

Le problème n'était pas vraiment le signe at, mais je n'ai pas utilisé de blocs avec mon if:

@if (blabla)
    @Html.ActionLink("Title", "action", new { id=1 }, new { @class = "myCssClass" });

Travaux:

@if (blabla)
{
    @Html.ActionLink("Title", "action", new { id=1 }, new { @class = "myCssClass" });
}

Up a voté les deux réponses car elles m'ont fait comprendre le problème.

29
jgauffin

Essayez d'écrire quelque chose comme:

@(Html.ActionLink("Title", "action", new { id=1 }, new { @class = "myCssClass" }));

Il y a un bon article sur Razor lié à votre problème: ScottGu Blog

42
Aleksei Anufriev

Simplement:

@Html.ActionLink("Title", "action", new { id=1 }, new { @class = "myCssClass" })

fonctionnera dans ASP.NET MVC 3 RC2. Le rasoir est intelligent.

7
Darin Dimitrov