Udostępnij za pośrednictwem


Route.Defaults Właściwość

Definicja

Pobiera lub ustawia wartości do użycia, jeśli adres URL nie zawiera wszystkich parametrów.

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

Wartość właściwości

Obiekt, który zawiera nazwy parametrów i wartości domyślne.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć Route obiekt i ustawić Constraintswłaściwości , DataTokensi 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

W poniższym przykładzie pokazano Route obiekt, którego Defaults właściwość zawiera parametr, który nie jest częścią wzorca we Url właściwości .

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

Uwagi

Właściwość Defaults umożliwia ustawienie wartości parametru adresu URL, jeśli adres URL nie zawiera segmentu dla tego parametru. Obiekt jest przypisywany RouteValueDictionaryDefaults do właściwości . Każdy element w RouteValueDictionary obiekcie zawiera nazwę parametru i wartość do użycia, jeśli brakuje parametru.

Możesz uwzględnić wartość domyślną parametru, który nie jest zdefiniowany we Url właściwości jako segment. Gdy ASP.NET routing obsługuje żądanie, ta wartość domyślna jest zawsze przekazywana do procedury obsługi tras. Podczas konstruowania adresu URL i uwzględnienia wartości parametru domyślnego, który nie jest zdefiniowany jako segment, trasa będzie traktowana jako dopasowanie tylko wtedy, gdy podana wartość jest zgodna z wartością domyślną trasy.

Dotyczy

Zobacz też