Bagaimana cara menerapkan kelas CSS ke Html.ActionLink di ASP.NET MVC?

104

Saya sedang membangun aplikasi ASP.NET MVC , menggunakan VB.NET dan saya mencoba menerapkan kelas css ke Html.ActionLinkmenggunakan kode:

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

Tetapi ketika saya menjalankan kode saya menerima kesalahan di bawah ini:

Pesan Kesalahan Penyusun: BC30988: Ketik atau 'Dengan' yang diharapkan.

Saya baru mengenal MVC dan benar-benar tidak tahu apa yang saya lakukan jadi saya tidak bisa melihat apa yang salah di sana karena saya menggunakan kode berdasarkan contoh di tempat lain.

LiamGu
sumber
Tidak ada tanda tangan seperti itu untuk metode Html.ActionLink dengan (string, string, string, object).
twk
Apakah ada cara untuk melakukan ini tanpa menggunakan kelas anonim?
Simpan

Jawaban:

48

Ini:

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

Di VB.net Anda menetapkan tipe anonim menggunakan

new with {.class = "tab" }

dan, seperti yang ditunjukkan lain, parameter ketiga Anda harus berupa objek (bisa juga tipe anonim).

Eduardo Molteni
sumber
153

@ewomack memiliki jawaban yang bagus untuk C #, kecuali jika Anda tidak membutuhkan nilai objek tambahan. Dalam kasus saya, saya akhirnya menggunakan sesuatu yang mirip dengan:

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
adamgede
sumber
18
Jika Anda tidak memerlukan nilai rute, Anda juga dapat meneruskan nullsebagai argumen ke-4:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
xec
56

Di C # ini juga bekerja dengan null sebagai parameter ke-4.

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
coding_is_fun
sumber
Ini Bermanfaat karena ketika Anda menambahkan null, Anda mendapatkan permintaan url standar dan bersih
Sumanstm21
33

Sintaks ini bekerja untuk saya di MVC 3 dengan Razor:

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

Ini bekerja untuk MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
César León
sumber
Untuk menggunakan dalam MVC 5 ActionLink dengan parameter: @ Html.ActionLink ("Text of the link", "Action", "Controller name", new {myParam = "XXX"}, baru {@style = "color: black" })
mggSoft
3

Di VB.NET

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

Ini akan menetapkan "tautan" kelas css ke Hubungi Kami.

Ini akan menghasilkan HTML berikut:

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

menghapus c # ... berikut adalah vb.net tersebut

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>
rajesh pillai
sumber
Sintaks yang buruk untuk Vb.net dan tidak ada konstruktor dengan tanda tangan ini
Eduardo Molteni
sorrry ... secara default ... saya mengambil c # .. seharusnya lebih berhati-hati membaca pertanyaan ..
rajesh pillai