Bagikan melalui


Route.Defaults Properti

Definisi

Mendapatkan atau mengatur nilai yang akan digunakan jika URL tidak berisi semua parameter.

public:
 property System::Web::Routing::RouteValueDictionary ^ Defaults { System::Web::Routing::RouteValueDictionary ^ get(); void set(System::Web::Routing::RouteValueDictionary ^ value); };
public System.Web.Routing.RouteValueDictionary Defaults { get; set; }
member this.Defaults : System.Web.Routing.RouteValueDictionary with get, set
Public Property Defaults As RouteValueDictionary

Nilai Properti

Objek yang berisi nama parameter dan nilai default.

Contoh

Contoh berikut menunjukkan cara membuat Route objek dan mengatur Constraintsproperti , DataTokens, dan Defaults .

void Application_Start(object sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    Route reportRoute = new Route("{locale}/{year}", new ReportRouteHandler());
    reportRoute.Defaults = new RouteValueDictionary { { "locale", "en-US" }, { "year", DateTime.Now.Year.ToString() } };
    reportRoute.Constraints = new RouteValueDictionary { { "locale", "[a-z]{2}-[a-z]{2}" }, { "year", @"\d{4}" } };
    reportRoute.DataTokens = new RouteValueDictionary { { "format", "short" } };
    routes.Add(reportRoute);
}
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    RegisterRoutes(RouteTable.Routes)
End Sub

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    Dim urlPattern As String
    Dim reportRoute As Route
    
    urlPattern = "{locale}/{year}"
    
    reportRoute = New Route(urlPattern, New ReportRouteHandler)
    reportRoute.Defaults = New RouteValueDictionary(New With {.locale = "en-US", .year = DateTime.Now.Year.ToString()})
    reportRoute.Constraints = New RouteValueDictionary(New With {.locale = "[a-z]{2}-[a-z]{2}", .year = "\d{4}"})
    reportRoute.DataTokens = New RouteValueDictionary(New With {.format = "short"})

    routes.Add(reportRoute)
End Sub

Contoh berikut menunjukkan Route objek yang propertinya Defaults berisi parameter yang bukan bagian dari pola dalam Url properti .

void Application_Start(object sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    Route reportRoute = new Route("{locale}/{year}", new ReportRouteHandler());
    
    reportRoute.Defaults = new RouteValueDictionary { { "months", "all" } };
    
    routes.Add(reportRoute);
}
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    RegisterRoutes(RouteTable.Routes)
End Sub

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    Dim urlPattern As String
    Dim reportRoute As Route
    
    urlPattern = "{locale}/{year}"
    
    reportRoute = New Route(urlPattern, New ReportRouteHandler)
    
    reportRoute.Defaults = New RouteValueDictionary(New With {.months = "all"})
    
    routes.Add(reportRoute)
End Sub

Keterangan

Properti Defaults memungkinkan Anda mengatur nilai untuk parameter URL jika URL tidak berisi segmen untuk parameter tersebut. Anda menetapkan RouteValueDictionary objek ke Defaults properti . Setiap elemen dalam RouteValueDictionary objek berisi nama parameter dan nilai yang akan digunakan jika parameter hilang.

Anda dapat menyertakan nilai default untuk parameter yang tidak didefinisikan dalam Url properti sebagai segmen. Saat perutean ASP.NET menangani permintaan, nilai default ini selalu diteruskan ke handler rute. Saat Anda membuat URL dan menyertakan nilai untuk parameter default yang tidak didefinisikan sebagai segmen, rute hanya akan dianggap cocok jika nilai yang Anda berikan cocok dengan nilai default untuk rute.

Berlaku untuk

Lihat juga