Route.Defaults Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die zu verwendenden Werte ab, wenn die URL nicht alle Parameter enthält, oder legt sie fest.
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
Eigenschaftswert
Ein Objekt, das die Parameternamen und Standardwerte enthält.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein Route Objekt erstellen und die ConstraintsEigenschaften DataTokensund Defaults Eigenschaften festlegen.
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
Das folgende Beispiel zeigt ein Route Objekt, dessen Defaults Eigenschaft einen Parameter enthält, der nicht Teil des Musters in der Url Eigenschaft ist.
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
Hinweise
Mit Defaults der Eigenschaft können Sie den Wert für einen URL-Parameter festlegen, wenn die URL kein Segment für diesen Parameter enthält. Sie weisen der Defaults Eigenschaft ein RouteValueDictionary Objekt zu. Jedes Element im RouteValueDictionary Objekt enthält den Namen eines Parameters und den Wert, der verwendet werden soll, wenn der Parameter fehlt.
Sie können einen Standardwert für einen Parameter angeben, der in der Url Eigenschaft nicht als Segment definiert ist. Wenn ASP.NET Routing eine Anforderung verarbeitet, wird dieser Standardwert immer an den Routenhandler übergeben. Wenn Sie eine URL erstellen und einen Wert für einen Standardparameter angeben, der nicht als Segment definiert ist, wird die Route nur als Übereinstimmung betrachtet, wenn der von Ihnen angegebene Wert mit dem Standardwert für die Route übereinstimmt.