Dalam rilis terbaru (RC1) dari ASP.NET MVC, bagaimana cara mendapatkan Html.ActionLink untuk dirender sebagai tombol atau gambar alih-alih tautan?
asp.net-mvc
actionlink
Ryan Lundy
sumber
sumber
AjaxHelper
denganActionButton
) saya pikir saya akan membagikannya di bawah ini.Jawaban:
Respons terlambat tetapi Anda bisa membuatnya tetap sederhana dan menerapkan kelas CSS ke objek htmlAttributes.
dan kemudian buat kelas di stylesheet Anda
sumber
Saya suka menggunakan Url.Action () dan Url.Content () seperti ini:
Sebenarnya, Url.Content hanya diperlukan untuk pathing bukan bagian dari jawaban untuk pertanyaan Anda.
Terima kasih kepada @BrianLegg untuk menunjukkan bahwa ini harus menggunakan sintaks tampilan Razor baru. Contoh telah diperbarui.
sumber
Meminjam dari jawaban Patrick, saya menemukan bahwa saya harus melakukan ini:
untuk menghindari memanggil metode posting form.
sumber
Panggil saya dengan sederhana, tetapi saya hanya melakukannya:
Dan Anda hanya merawat sorotan hyperlink. Pengguna kami menyukainya :)
sumber
text-decoration:none
menyingkirkan garis bawah bodoh itu. Ini diperlukan untuk beberapa browser (Firefox 11.0 pasti).Menggunakan bootstrap, ini adalah pendekatan terpendek dan terbersih untuk membuat tautan ke tindakan pengontrol yang muncul sebagai tombol dinamis:
Atau menggunakan bantuan Html:
sumber
Cukup sederhana:
sumber
onclick
isinya denganlocation.href
(jadionclick="location.href='@Url.Action(....)'"
) saya tidak bisa membuatnya berfungsi.Sebuah jawaban yang terlambat tetapi ini adalah bagaimana saya membuat ActionLink saya menjadi sebuah tombol. Kami menggunakan Bootstrap di proyek kami karena membuatnya nyaman. Sudahlah, @T karena satu-satunya penerjemah yang kami gunakan.
Di atas memberikan tautan seperti ini dan terlihat seperti gambar di bawah ini:
Menurut saya:
Semoga ini bisa membantu seseorang
sumber
new { @class="btn btn-primary" })
+ onejika Anda tidak ingin menggunakan tautan, gunakan tombol. Anda dapat menambahkan gambar ke tombol juga:
type = "button" melakukan tindakan Anda alih-alih mengirimkan formulir.
sumber
Anda tidak dapat melakukan ini dengan
Html.ActionLink
. Anda harus menggunakanUrl.RouteUrl
dan menggunakan URL untuk membangun elemen yang Anda inginkan.sumber
<button onclick="location.href='@Url.Action("NewCustomer", "Customers")'">Checkout >></button>
sumber
Cara mudah untuk membuat Html.ActionLink Anda menjadi sebuah tombol (selama Anda memasang BootStrap - yang mungkin Anda miliki) adalah seperti ini:
sumber
Bahkan tanggapan kemudian, tetapi saya hanya mengalami masalah yang sama dan akhirnya menulis sendiri gambar saya HtmlHelper ekstensi .
Anda dapat menemukan penerapannya di blog saya di tautan di atas.
Baru ditambahkan jika seseorang memburu suatu implementasi.
sumber
Untuk menampilkan ikon dengan tautan
sumber
Lakukan apa yang dikatakan Mehrdad - atau gunakan penolong url dari
HtmlHelper
metode ekstensi seperti dijelaskan Stephen Walther di sini dan buat metode ekstensi Anda sendiri yang dapat digunakan untuk merender semua tautan Anda.Maka akan mudah untuk merender semua tautan sebagai tombol / jangkar atau mana pun yang Anda suka - dan, yang paling penting, Anda dapat berubah pikiran nanti ketika Anda mengetahui bahwa Anda sebenarnya lebih memilih cara lain untuk membuat tautan Anda.
sumber
Anda dapat membuat metode ekstensi sendiri,
lihat implementasi saya
kemudian gunakan dalam tampilan Anda lihat panggilan saya
sumber
Untuk Material Design Lite dan MVC:
sumber
sumber
Tampaknya ada banyak solusi tentang cara membuat tautan yang ditampilkan sebagai gambar, tetapi tidak ada yang membuatnya tampak sebagai tombol.
Hanya ada cara bagus yang saya temukan untuk melakukan ini. Agak aneh, tapi berhasil.
Yang harus Anda lakukan adalah membuat tombol dan tautan tindakan terpisah. Buat tautan tindakan tidak terlihat menggunakan css. Ketika Anda mengklik tombol, itu bisa memunculkan event klik pada tautan tindakan.
Mungkin ada rasa sakit di pantat untuk melakukan ini setiap kali Anda menambahkan tautan yang perlu terlihat seperti tombol, tetapi itu mencapai hasil yang diinginkan.
sumber
gunakan FORMACTION
sumber
Baru saja menemukan ekstensi ini untuk melakukannya - sederhana dan efektif.
sumber
Cara saya melakukannya adalah memiliki actionLink dan gambar secara terpisah. Atur gambar actionlink sebagai tersembunyi dan kemudian tambahkan panggilan pemicu jQuery. Ini lebih merupakan solusi.
Contoh pemicu:
sumber
Url.Action()
akan memberi Anda URL telanjang untuk sebagian besar kelebihanHtml.ActionLink
, tapi saya pikirURL-from-lambda
fungsionalitas hanya tersediaHtml.ActionLink
sejauh ini. Semoga mereka akan menambahkan kelebihan serupaUrl.Action
di beberapa titik.sumber
Ini adalah bagaimana saya melakukannya tanpa skrip:
Sama, tetapi dengan dialog parameter dan konfirmasi:
sumber