Route.Defaults Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee worden de waarden opgehaald of ingesteld die moeten worden gebruikt als de URL niet alle parameters bevat.
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
Waarde van eigenschap
Een object dat de parameternamen en standaardwaarden bevat.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een Route object maakt en de Constraints, DataTokensen Defaults eigenschappen instelt.
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
In het volgende voorbeeld ziet u een Route object waarvan Defaults de eigenschap een parameter bevat die geen deel uitmaakt van het patroon in de Url eigenschap.
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
Opmerkingen
Defaults Met de eigenschap kunt u de waarde voor een URL-parameter instellen als de URL geen segment voor die parameter bevat. U wijst een RouteValueDictionary object toe aan de Defaults eigenschap. Elk element in het RouteValueDictionary object bevat de naam van een parameter en de waarde die moet worden gebruikt als de parameter ontbreekt.
U kunt een standaardwaarde opnemen voor een parameter die niet is gedefinieerd in de Url eigenschap als segment. Wanneer ASP.NET routering een aanvraag verwerkt, wordt deze standaardwaarde altijd doorgegeven aan de route-handler. Wanneer u een URL maakt en u een waarde opneemt voor een standaardparameter die niet is gedefinieerd als een segment, wordt de route alleen beschouwd als een overeenkomst als de waarde die u hebt opgegeven overeenkomt met de standaardwaarde voor de route.