Partager via


Route.Defaults Propriété

Définition

Obtient ou définit les valeurs à utiliser si l’URL ne contient pas tous les paramètres.

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

Valeur de propriété

Objet qui contient les noms de paramètres et valeurs par défaut.

Exemples

L’exemple suivant montre comment créer un Route objet et définir les Constraintspropriétés , DataTokenset 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

L’exemple suivant montre un Route objet dont Defaults la propriété contient un paramètre qui ne fait pas partie du modèle dans la Url propriété .

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

Remarques

La Defaults propriété vous permet de définir la valeur d’un paramètre d’URL si l’URL ne contient pas de segment pour ce paramètre. Vous affectez un RouteValueDictionary objet à la Defaults propriété . Chaque élément de l’objet RouteValueDictionary contient le nom d’un paramètre et la valeur à utiliser si le paramètre est manquant.

Vous pouvez inclure une valeur par défaut pour un paramètre qui n’est pas défini dans la Url propriété en tant que segment. Lorsque ASP.NET routage gère une requête, cette valeur par défaut est toujours transmise au gestionnaire de routage. Lorsque vous construisez une URL et que vous incluez une valeur pour un paramètre par défaut qui n’est pas défini en tant que segment, la route n’est considérée comme une correspondance que si la valeur que vous avez fournie correspond à la valeur par défaut de la route.

S’applique à

Voir aussi