Как применить класс CSS к Html.ActionLink в ASP.NET MVC?
-
22-07-2019 - |
Вопрос
Я создаю приложение ASP.NET MVC , используя VB.NET , и пытаюсь применить класс css к Html.ActionLink
используя код:
<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>
Но когда я запускаю код, я получаю следующую ошибку:
Сообщение об ошибке компилятора: BC30988: ожидается тип или «С».
Я новичок в MVC и на самом деле понятия не имею, что я делаю, поэтому я не вижу, что там не так, поскольку я использую код на основе примера в другом месте . р>
Решение
Это:
<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>
Если VB.net вы устанавливаете анонимный тип, используя
new with {.class = "tab" }
и, как указано выше, ваш третий параметр должен быть объектом (также может быть анонимного типа). Р>
Другие советы
У @ewomack отличный ответ для C #, если только вам не нужны дополнительные значения объекта. В моем случае я использовал что-то похожее на:
@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
В C # он также работает с нулем в качестве 4-го параметра.
@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
Этот синтаксис работал для меня в MVC 3 с Razor:
@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
Это работает для MVC 5
@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
В VB.NET
<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>
Это назначит класс css " ссылка " Связаться с нами.
Это сгенерирует следующий HTML:
<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
удалил c # ... вот vb.net
<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>