Route.Defaults 속성

정의

URL에 모든 매개 변수가 포함되지 않을 경우 사용할 값을 가져오거나 설정합니다.

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

속성 값

RouteValueDictionary

매개 변수 이름 및 기본값을 포함하는 개체입니다.

예제

다음 예제에서는 개체를 Route 만들고 , DataTokensDefaults 속성을 설정하는 Constraints방법을 보여줍니다.

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

다음 예제에서는 속성에서 Defaults 패턴의 일부가 아닌 매개 변수를 포함 하는 개체를 Url 보여 Route 줍니다.

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

설명

Defaults 속성을 사용하면 URL에 해당 매개 변수에 대한 세그먼트가 없는 경우 URL 매개 변수의 값을 설정할 수 있습니다. 속성에 RouteValueDictionary 개체를 할당합니다 Defaults . 개체의 RouteValueDictionary 각 요소에는 매개 변수의 이름과 매개 변수가 없는 경우 사용할 값이 포함됩니다.

속성에 세그먼트로 정의되지 않은 매개 변수의 기본값을 포함할 Url 수 있습니다. ASP.NET 라우팅이 요청을 처리하는 경우 이 기본값은 항상 경로 처리기에 전달됩니다. URL을 생성하고 세그먼트로 정의되지 않은 기본 매개 변수에 대한 값을 포함하는 경우 제공된 값이 경로의 기본값과 일치하는 경우에만 경로가 일치하는 것으로 간주됩니다.

적용 대상

추가 정보