Як застосувати клас CSS до Html.ActionLink в ASP.NET MVC?


104

Я будую додаток ASP.NET MVC за допомогою VB.NET і намагаюся застосувати клас css до Html.ActionLinkкоду за допомогою коду:

<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>

Але коли я запускаю код, я отримую помилку нижче:

Повідомлення про помилку компілятора: BC30988: очікуваний тип або "З".

Я новачок у MVC і насправді не маю поняття, що я роблю, тому я не можу побачити, що там не так, коли я використовую код на прикладі в іншому місці.


Для методу Html.ActionLink такої підпису немає (string, string, string, object).
twk

Чи все-таки це можна зробити, не використовуючи анонімний клас?
3Dave

Відповіді:


48

Це є:

<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>

На VB.net ви встановлюєте анонімний тип за допомогою

new with {.class = "tab" }

і, як зазначають інші, ваш третій параметр повинен бути об'єктом (також може бути анонімним типом).


153

@ewomack чудово відповідає на C #, якщо вам не потрібні додаткові значення об'єкта. У моєму випадку я закінчила щось подібне до:

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})

18
Якщо вам не потрібні значення маршруту, ви можете також передати їх nullяк четвертий аргумент:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
xec

56

У C # він також працює з нулем як 4-й параметр.

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })

Це корисно, оскільки додаючи null, ви отримуєте стандартний та чистий запит URL
Sumanstm21

33

Цей синтаксис працював для мене в MVC 3 з Razor:

@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})

17

Це працює для MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })

Для використання в MVC 5 ActionLink з параметрами: @ Html.ActionLink ("Текст посилання", "Дія", "Ім'я контролера", новий {myParam = "XXX"}, новий {@style = "color: black" })
mggSoft

3

У 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>

0

видалено c # ... ось vb.net

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>

Поганий синтаксис для Vb.net, і немає конструктора з цим підписом
Едуардо Молтені,

журба ... за замовчуванням ... Я взяв c # .. повинен був уважніше читати питання ..
rajesh pillai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.