Jak zastosować klasę CSS do Html.ActionLink w ASP.NET MVC?


104

Buduję się ASP.NET MVC aplikacji za pomocą VB.NET i usiłuję stosuje się klasę css Do Html.ActionLinkużywając kodu:

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

Ale kiedy uruchamiam kod, pojawia się poniższy błąd:

Komunikat o błędzie kompilatora: BC30988: oczekiwano typu lub „z”.

Jestem nowy w MVC i naprawdę nie mam pojęcia, co robię, więc nie widzę, co jest nie tak, ponieważ używam kodu opartego na przykładzie gdzie indziej.


Nie ma takiej sygnatury dla metody Html.ActionLink z (string, string, string, object).
twk

Czy w ogóle można to zrobić bez użycia klasy anonimowej?
Zapisz

Odpowiedzi:


48

To jest:

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

W VB.net możesz ustawić typ anonimowy za pomocą

new with {.class = "tab" }

i, jak inni zauważają, trzecim parametrem powinien być obiekt (może to być również typ anonimowy).


153

@ewomack ma świetną odpowiedź dla C #, chyba że nie potrzebujesz dodatkowych wartości obiektów. W moim przypadku skończyło się na użyciu czegoś podobnego do:

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

18
Jeśli nie potrzebujesz wartości trasy, możesz również podać nulljako czwarty argument:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
xec

56

W C # działa również z wartością null jako czwartym parametrem.

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

Jest to przydatne, ponieważ po dodaniu wartości null otrzymujesz standardowe i czyste żądanie
adresu

33

Ta składnia działała dla mnie w MVC 3 z Razor:

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

17

Działa to w przypadku MVC 5

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

Do użycia w MVC 5 ActionLink z parametrami: @ Html.ActionLink ("Tekst linku", "Akcja", "Nazwa kontrolera", nowy {myParam = "XXX"}, nowy {@style = "color: black" })
mggSoft

3

W VB.NET

<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>

Spowoduje to przypisanie „linku” klasy css do Kontaktów.

Spowoduje to wygenerowanie następującego kodu HTML:

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>

0

usunąłem c # ... tutaj jest vb.net

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

Zła składnia dla Vb.net i nie ma konstruktora z tą sygnaturą
Eduardo Molteni

przepraszam ... domyślnie ... wziąłem c # .. powinienem był
uważniej
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.