Aracılığıyla paylaş


Route.Defaults Özellik

Tanım

URL tüm parametreleri içermiyorsa kullanılacak değerleri alır veya ayarlar.

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

Özellik Değeri

Parametre adlarını ve varsayılan değerleri içeren bir nesne.

Örnekler

Aşağıdaki örnekte, bir Route nesnenin nasıl oluşturulacağı ve , DataTokensve Defaults özelliklerinin nasıl ayarlanacağı Constraintsgösterilmektedir.

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

Aşağıdaki örnekte, özelliği özelliğinde desenin Url parçası olmayan bir parametre içeren bir nesne Defaults gösterilmektedirRoute.

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

Açıklamalar

özelliği, Defaults URL parametresi için bir segment içermiyorsa URL parametresinin değerini ayarlamanıza olanak tanır. Özelliğine Defaults bir RouteValueDictionary nesne atarsınız. nesnesindeki RouteValueDictionary her öğe parametrenin adını ve parametre eksikse kullanılacak değeri içerir.

özelliğinde Url segment olarak tanımlanmayan bir parametre için varsayılan değer ekleyebilirsiniz. ASP.NET yönlendirme bir isteği işlediğinde, bu varsayılan değer her zaman yol işleyicisine geçirilir. BIR URL oluşturduğunuzda ve segment olarak tanımlanmayan varsayılan parametre için bir değer eklediğinizde, yol yalnızca sağladığınız değer yolun varsayılan değeriyle eşleşiyorsa eşleşme olarak değerlendirilir.

Şunlara uygulanır

Ayrıca bkz.