Özel Rotalar Oluşturma (VB)
Microsoft tarafından
ASP.NET MVC uygulamasına özel yollar eklemeyi öğrenin. Bu öğreticide, Global.asax dosyasındaki varsayılan yol tablosunu değiştirmeyi öğreneceksiniz.
Bu öğreticide, bir ASP.NET MVC uygulamasına özel yol eklemeyi öğreneceksiniz. Global.asax dosyasındaki varsayılan yol tablosunu özel bir yolla değiştirmeyi öğreneceksiniz.
ASP.NET MVC uygulamalarında varsayılan yol tablosu düzgün çalışır. Ancak özel yönlendirme gereksinimleriniz olduğunu fark edebilirsiniz. Bu durumda, özel bir yol oluşturabilirsiniz.
Örneğin, bir blog uygulaması oluşturduğunuzu düşünün. Aşağıdakine benzer gelen istekleri işlemek isteyebilirsiniz:
/Arşiv/12-25-2009
Bir kullanıcı bu isteği girdiğinde, 25.12.2009 tarihine karşılık gelen blog girdisini döndürmek istersiniz. Bu tür bir isteği işlemek için özel bir yol oluşturmanız gerekir.
Liste 1'deki Global.asax dosyası, /Archive/entry date gibi görünen istekleri işleyen Blog adlı yeni bir özel yol içerir.
Listeleme 1 - Global.asax (özel rota ile)
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
Yol tablosuna eklediğiniz yolların sırası önemlidir. Yeni özel Blog rotamız mevcut Varsayılan rotadan önce eklenir. Sırayı ters çevirdiyseniz, özel yol yerine Varsayılan yol her zaman çağrılır.
Özel Blog yolu /Archive/ ile başlayan tüm isteklerle eşleşir. Bu nedenle, aşağıdaki URL'lerin tümüyle eşleşir:
/Arşiv/12-25-2009
/Arşiv/10-6-2004
/Archive/apple
Özel yol, gelen isteği Arşiv adlı bir denetleyiciyle eşler ve Entry() eylemini çağırır. Entry() yöntemi çağrıldığında, giriş tarihi entryDate adlı bir parametre olarak geçirilir.
Blog özel yolunu, Liste 2'deki denetleyiciyle birlikte kullanabilirsiniz.
Liste 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
Listeleme 2'deki Entry() yönteminin DateTime türünde bir parametre kabul ettiğini unutmayın. MVC çerçevesi, URL'den giriş tarihini otomatik olarak bir DateTime değerine dönüştürecek kadar akıllıdır. URL'den giriş tarihi parametresi DateTime'a dönüştürülemiyorsa bir hata oluşur (bkz. Şekil 1).
Şekil 1 - Parametre dönüştürme hatası
Şekil 01: Parametre dönüştürme hatası (Tam boyutlu görüntüyü görüntülemek için tıklayın)
Özet
Bu öğreticinin amacı, nasıl özel yol oluşturabileceğinizi göstermekti. Blog girdilerini temsil eden Global.asax dosyasındaki yol tablosuna özel bir yol eklemeyi öğrendinsiniz. Blog girdileri için istekleri ArchiveController adlı bir denetleyiciye ve Entry() adlı bir denetleyici eylemine eşlemeyi ele aldık.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin