Saya pikir judulnya cukup merangkumnya:
Apa perbedaan antara RouteLink()
dan ActionLink()
di ASP.NET MVC?
yaitu kapan Anda menggunakan Html.RouteLink()
dan kapan Anda menggunakan Html.ActionLink()
dalam View Anda?
Saya pikir judulnya cukup merangkumnya:
Apa perbedaan antara RouteLink()
dan ActionLink()
di ASP.NET MVC?
yaitu kapan Anda menggunakan Html.RouteLink()
dan kapan Anda menggunakan Html.ActionLink()
dalam View Anda?
Tindakan dan Rute tidak harus memiliki hubungan 1: 1.
ActionLink akan menghasilkan URL untuk mendapatkan tindakan menggunakan rute pertama yang cocok dengan nama tindakan.
RouteLink akan menghasilkan URL ke rute tertentu yang ditentukan baik oleh nama atau nilai rute.
Sebenarnya, keluaran dari kedua metode tersebut sama, tetapi dihasilkan dengan cara yang sedikit berbeda:
Html.ActionLink()
memudahkan pembuatan ActionLinks dengan cepat, dan akan memberi Anda kontrol dasar atas apa yang dirender. Jika Anda tidak memiliki terlalu banyak rute, atau tidak perlu memberikan informasi yang terlalu banyak atau terlalu spesifik, ini akan bekerja dengan baik.The
Html.RouteLink()
Metode mengambil argumen yang sedikit berbeda, dan dengan demikian memberikan Anda kontrol sedikit lebih rinci atas cara hal-hal yang ditangani. Saya cenderung menggunakan metode ini ketika skenario saya sedikit lebih rumit, atau ketika saya memiliki struktur rute yang lebih detail.Salah satu contohnya adalah proyek baru-baru ini di mana saya (untuk fleksibilitas) lebih suka memiliki beberapa rute berbeda, yang semuanya cukup sederhana, daripada satu proyek rumit yang memungkinkan banyak informasi. Jadi, saya berakhir dengan empat atau lima rute untuk Kontroler yang sama, semuanya dengan tindakan default yang ditentukan. Saya kebanyakan menggunakan
RouteLink
versi, karena ketika saya menentukan nama rute, parameter default dimasukkan secara otomatis.Gunakan sesuai keinginan Anda, dan sesuai dengan proyek Anda. Benar-benar tidak ada sisi atas / bawah untuk salah satu dari mereka (yang tidak cocok dengan yang lain ...).
sumber
Selain jawaban lain yang diberikan di sini, RouteLink sedikit lebih cepat, dan tidak dapat mencocokkan rute yang salah karena Anda mengubah tabel perutean.
sumber
RouteLink mengambil nama sebuah rute, jadi jika nama rute Anda dapat diandalkan dan cukup unik maka ini akan tetap sama meskipun nama tindakan yang akan digunakan berubah. ActionLink menautkan ke tindakan tertentu dari pengontrol tertentu. Saya menggunakan keduanya dalam pandangan saya, tergantung pada jenis tautan yang saya cari!
sumber