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.


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).


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"})

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" })

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"})

17

Ini bekerja untuk MVC 5

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

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>

0

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

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.