Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Microsoft
Pelajari cara menambahkan rute kustom ke aplikasi MVC ASP.NET. Dalam tutorial ini, Anda mempelajari cara memodifikasi tabel rute default dalam file Global.asax.
Dalam tutorial ini, Anda mempelajari cara menambahkan rute kustom ke aplikasi MVC ASP.NET. Anda mempelajari cara mengubah tabel rute default di file Global.asax dengan rute kustom.
Dalam ASP.NET aplikasi MVC, tabel rute default akan berfungsi dengan baik. Namun, Anda mungkin menemukan bahwa Anda memiliki kebutuhan perutean khusus. Dalam hal ini, Anda dapat membuat rute kustom.
Bayangkan, misalnya, bahwa Anda sedang membangun aplikasi blog. Anda mungkin ingin menangani permintaan masuk yang terlihat seperti ini:
/Archive/12-25-2009
Ketika pengguna memasukkan permintaan ini, Anda ingin mengembalikan entri blog yang sesuai dengan tanggal 25/12/2009. Untuk menangani jenis permintaan ini, Anda perlu membuat rute kustom.
File Global.asax di Listing 1 berisi rute kustom baru, bernama Blog, yang menangani permintaan yang terlihat seperti /Archive/entry date.
Daftar 1 - Global.asax (dengan rute kustom)
Public Class MvcApplication
Inherits System.Web.HttpApplication
Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
routes.IgnoreRoute("{resource}.axd/{*pathInfo}")
' MapRoute takes the following parameters, in order:
' (1) Route name
' (2) URL with parameters
' (3) Parameter defaults
routes.MapRoute( _
"Blog", _
"Archive/{entryDate}", _
New With {.controller = "Archive", .action = "Entry"} _
)
routes.MapRoute( _
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = ""} _
)
End Sub
Sub Application_Start()
RegisterRoutes(RouteTable.Routes)
End Sub
End Class
Urutan rute yang Anda tambahkan ke tabel rute adalah penting. Rute Blog kustom baru kami ditambahkan sebelum rute Default yang ada. Jika Anda membalikkan pesanan, maka rute Default selalu akan dipanggil alih-alih rute kustom.
Rute Blog kustom cocok dengan permintaan apa pun yang dimulai dengan /Archive/. Jadi, ini cocok dengan semua URL berikut:
/Archive/12-25-2009
/Archive/10-6-2004
/Archive/apple
Rute kustom memetakan permintaan masuk ke pengontrol bernama Archive dan memanggil tindakan Entry(). Ketika metode Entry() dipanggil, tanggal entri diteruskan sebagai parameter bernama entryDate.
Anda dapat menggunakan rute kustom Blog dengan pengontrol di Daftar 2.
Daftar 2 - ArchiveController.vb
Public Class ArchiveController
Inherits System.Web.Mvc.Controller
Function Entry(ByVal entryDate As DateTime)
Return "You requested the entry from " & entryDate.ToString()
End Function
End Class
Perhatikan bahwa metode Entry() di Listing 2 menerima parameter jenis DateTime. Kerangka kerja MVC cukup cerdas untuk mengonversi tanggal entri dari URL menjadi nilai DateTime secara otomatis. Jika parameter tanggal entri dari URL tidak dapat dikonversi ke DateTime, kesalahan akan muncul (lihat Gambar 1).
Gambar 1 - Kesalahan dari mengonversi parameter
Gambar 01: Kesalahan saat mengonversi parameter (Klik untuk melihat gambar ukuran penuh)
Ringkasan
Tujuan dari tutorial ini adalah untuk menunjukkan bagaimana Anda dapat membuat rute kustom. Anda mempelajari cara menambahkan rute kustom ke tabel rute dalam file Global.asax yang mewakili entri blog. Kami membahas cara memetakan permintaan untuk entri blog ke pengontrol bernama ArchiveController dan tindakan pengontrol bernama Entry().