Как добавить класс в @Html.ActionLink?

У меня есть два @Html.ActionLink's, которые я хочу сделать похожими на кнопки. Я могу сделать это с CSS, но только если я использую #ID actionlink для применения CSS. Я хочу назначить класс ссылкам на действие, но когда я использую код ниже, я получаю сообщение об ошибке, когда у меня отсутствует "}".

 @Html.ActionLink("Print PO", "PoReport", new { id = 51970}, 
                 new { id = "PoPrint"} , new { class = "PoClass"})

Вот стиль, который я применяю:

<style>
 #PoPrint 
{
 border: 4px outset;
 padding: 2px;
 text-decoration: none;
 background-color:lightskyblue;
}
</style>

Это работает, и я полагаю, что я мог бы добавить другой #ID в стиль, но хотел бы применить стиль к классу.

Ответы

Ответ 1

Вы должны использовать символ @, так как class является ключевым словом в С#. Здесь ссылка на документацию MSDN: http://msdn.microsoft.com/en-us/library/dd492124(v=vs.108).aspx

@Html.ActionLink("Link Text", "ActionName", 
         new { controller = "MyController", id = 1 }, 
         new { @class = "my-class" })

Ответ 2

Проблема в том, что класс является зарезервированным словом в С#. Вы можете указать, что вы хотите использовать имя "класс" в качестве имени вашего атрибута, выделив его с помощью символа @следующим образом:

 @Html.ActionLink("Print PO", "PoReport", new { id = 51970}, new { id = "PoPrint", @class = "PoClass"})

Ответ 3

Сделайте это new { @class = "PoClass"} Вам нужны ключевые слова @, такие как класс