2009-09-18 4 views
84

Я построения приложения ASP.NET MVC , используя VB.NET и я пытаюсь применить класс CSS к Html.ActionLink с помощью кода:Как применить класс CSS к Html.ActionLink в ASP.NET MVC?

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

Но когда я бегу код я получаю ошибку ниже:

Compiler Error Message: BC30988: Type or 'With' expected.

Я новичок в MVC и действительно не много подсказки, что я делаю, так что я не могу видеть, что случилось там, как я использую код, основанный на примере в другом месте.

+0

Есть в любом случае сделать это * без *, используя анонимный класс? –

+0

Нет такой подписи для метода Html.ActionLink с (строка, строка, строка, объект). – twk

ответ

40

Это:

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

Если VB.net вы установили анонимный тип, используя

new with {.class = "tab" } 

и, как следует из другого, ваш третий параметр должен быть объектом (также может быть анонимным типом).

0

удален C# ... вот vb.net

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

Плохой синтаксис для Vb.net и нет конструктора с этой подписью –

+0

Сорри ... по умолчанию ... я взял C# .. должен был быть более осторожным, чтобы прочитать вопрос. –

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

Этот синтаксис работает для меня в MVC 3 с Razor:

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

@ewomack имеет большой ответ на C#, если не вам не нужно дополнительные значения объекта. В моем случае я использовал что-то похожее на:

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

отлично работает на MVC 4 –

+15

Если вы «Мне нужны значения маршрута, вы также можете передать« null »в качестве 4-го аргумента:' @ Html.ActionLink («Удалить», «Удалить список», «Список», null, new {@class = "delete"}) ' – xec

43

В C# он также работает с нулем в качестве 4-го параметра.

@Html.ActionLink("Front Page", "Index", "Home", null, new { @class = "MenuButtons" }) 
Смежные вопросы