Route.Defaults Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.