Sdílet prostřednictvím


Route.Defaults Vlastnost

Definice

Získá nebo nastaví hodnoty, které se mají použít, pokud adresa URL neobsahuje všechny parametry.

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

Hodnota vlastnosti

Objekt, který obsahuje názvy parametrů a výchozí hodnoty.

Příklady

Následující příklad ukazuje, jak vytvořit Route objekt a nastavit Constraintsvlastnosti , DataTokensa 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

Následující příklad ukazuje objekt, Route jehož Defaults vlastnost obsahuje parametr, který není součástí vzoru ve Url vlastnosti.

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

Poznámky

Vlastnost Defaults umožňuje nastavit hodnotu pro parametr adresy URL, pokud adresa URL neobsahuje segment pro tento parametr. Objekt přiřadíte RouteValueDictionary vlastnosti Defaults . Každý prvek v objektu RouteValueDictionary obsahuje název parametru a hodnotu, která se má použít, pokud parametr chybí.

Můžete zahrnout výchozí hodnotu parametru, který není definován ve Url vlastnosti jako segment. Pokud ASP.NET směrování zpracovává požadavek, je tato výchozí hodnota vždy předána obslužné rutině trasy. Když vytvoříte adresu URL a zahrnete hodnotu pro výchozí parametr, který není definován jako segment, bude trasa považována za shodu pouze v případě, že zadaná hodnota odpovídá výchozí hodnotě trasy.

Platí pro

Viz také