Saya mencoba menavigasi antar pengontrol menggunakan ActionLink
. Saya akan menceritakan masalah saya dengan sebuah contoh.
Saya pada tampilan Indeks pengontrol Hat, dan saya mencoba menggunakan kode di bawah ini untuk membuat tautan ke tindakan Detail dari pengontrol produk.
<%= Html.ActionLink("Details", "Details", "Product", new { id=item.ID }) %>
Alih-alih membuat tautan ke Rincian pada Pengontrol produk, ini menghasilkan tautan ke Tindakan detail di bawah Pengontrol topi dan menambahkan parameter Panjang ke ujungnya:
Hat/Details/9?Length=7
Saya tidak dapat menggunakan HTML.ActionLink
untuk beralih di antara pengontrol karena masalah ini. Saya akan menghargai jika Anda bisa menunjukkan kesalahan saya. Terima kasih
PS: Saya menggunakan pengaturan rute default yang datang dengan MVC
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" } );
asp.net-mvc
Kaivalya
sumber
sumber
Dengan parameter itu Anda memicu fungsi / metode yang salah kelebihan.
Apa yang berhasil untuk saya:
Ini menyalakan HtmlHelper.ActionLink (string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)
Saya menggunakan MVC 4.
Cheerio!
sumber
Saya akan merekomendasikan penulisan pembantu ini menggunakan parameter bernama demi kejelasan sebagai berikut:
sumber
Jika Anda mengambil perakitan MVC Futures (yang saya akan sangat menyarankan) Anda kemudian dapat menggunakan generik saat membuat ActionLink dan lambda untuk membangun rute:
Anda bisa mendapatkan perakitan berjangka di sini: http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471
sumber
Anda salah mengenai kelebihan ActionLink. Coba ini sebagai gantinya.
sumber
coba saja itu berfungsi dengan baik
sumber
Solusi alternatif adalah menggunakan
Url
objek helper untuk mengaturhref
atribut<a>
tag seperti:sumber
Perhatikan bahwa Detail adalah halaman "Lihat" di bawah folder "Produk".
ProductId adalah kunci utama tabel. Ini adalah baris dari Index.cshtml
sumber
kode ini berfungsi untuk saya dalam tampilan sebagian:
sumber