RouteCollection.MapPageRoute 方法

定义

提供用于定义 Web 窗体应用程序的路由的方法。

重载

MapPageRoute(String, String, String)

提供用于定义 Web 窗体应用程序的路由的方法。

MapPageRoute(String, String, String, Boolean)

提供用于定义 Web 窗体应用程序的路由的方法。

MapPageRoute(String, String, String, Boolean, RouteValueDictionary)

提供用于定义 Web 窗体应用程序的路由的方法。

MapPageRoute(String, String, String, Boolean, RouteValueDictionary, RouteValueDictionary)

提供用于定义 Web 窗体应用程序的路由的方法。

MapPageRoute(String, String, String, Boolean, RouteValueDictionary, RouteValueDictionary, RouteValueDictionary)

提供用于定义 Web 窗体应用程序的路由的方法。

示例

以下示例演示如何使用此方法为Web Forms应用程序定义路由。 该示例显示了一个名为 RegisterRoutes 的方法,该方法从 Application_Start Global.asax 文件中调用。 方法使用 的每个 MapPageRoute 重载将路由添加到应用程序。 有关如何定义Web Forms应用程序的路由的详细信息,请参阅如何:定义Web Forms应用程序的路由

 void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("",
        "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx");

    routes.MapPageRoute("SalesSummaryRoute",
        "SalesReportSummary/{locale}", "~/sales.aspx");

    routes.MapPageRoute("SalesDetailRoute",
        "SalesReportDetail/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
        false);

    routes.MapPageRoute("SalesCurrentYearRoute",
        "SalesReportCurrent/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
        false,
        new RouteValueDictionary 
            { { "locale", "US" }, { "year", DateTime.Now.Year.ToString() } });

    routes.MapPageRoute("ExpenseCurrentYearRoute",
        "ExpenseReportCurrent/{locale}", "~/expenses.aspx",
        false,
        new RouteValueDictionary 
            { { "locale", "US" }, { "year", DateTime.Now.Year.ToString() } },
        new RouteValueDictionary 
            { { "locale", "[a-z]{2}" }, { "year", @"\d{4}" } });

    routes.MapPageRoute("ExpenseDetailRoute",
        "ExpenseReportDetail/{locale}/{year}/{*queryvalues}", "~/expenses.aspx",
        false,
        new RouteValueDictionary 
            { { "locale", "US" }, { "year", DateTime.Now.Year.ToString() } },
        new RouteValueDictionary 
            { { "locale", "[a-z]{2}" }, { "year", @"\d{4}" } },
        new RouteValueDictionary 
            { { "account", "1234" }, { "subaccount", "5678" } });
}
Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.MapPageRoute("",
        "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx")

    routes.MapPageRoute("SalesSummaryRoute",
        "SalesReportSummary/{locale}", "~/sales.aspx")

    routes.MapPageRoute("SalesDetailRoute",
        "SalesReportDetail/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
        False)

    routes.MapPageRoute("SalesCurrentYearRoute",
        "SalesReportCurrent/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
        false,
        new RouteValueDictionary(New With _ 
            { .locale = "US", .year = DateTime.Now.Year.ToString()}))

    routes.MapPageRoute("ExpenseCurrentYearRoute",
        "ExpenseReportCurrent/{locale}", "~/expenses.aspx",
        false,
        new RouteValueDictionary(New With _
            { .locale = "US", .year = DateTime.Now.Year.ToString()}),
        new RouteValueDictionary(New With _
            { .locale = "[a-z]{2}", .year = "\d{4}" }))

    routes.MapPageRoute("ExpenseDetailRoute",
        "ExpenseReportDetail/{locale}/{year}/{*queryvalues}", "~/expenses.aspx",
        false,
        new RouteValueDictionary(New With _
            { .locale = "US", .year = DateTime.Now.Year.ToString()}),
        new RouteValueDictionary(New With _ 
            { .locale = "[a-z]{2}", .year = "\d{4}" }),
        new RouteValueDictionary(New With _
            { .account = "1234", .subaccount = "5678" }))
End Sub

注解

提供此方法是为了方便编码。 它等效于调用 Add 方法并传递 Route 使用 PageRouteHandler 类创建的 对象。

MapPageRoute(String, String, String)

提供用于定义 Web 窗体应用程序的路由的方法。

public:
 System::Web::Routing::Route ^ MapPageRoute(System::String ^ routeName, System::String ^ routeUrl, System::String ^ physicalFile);
public System.Web.Routing.Route MapPageRoute (string routeName, string routeUrl, string physicalFile);
member this.MapPageRoute : string * string * string -> System.Web.Routing.Route
Public Function MapPageRoute (routeName As String, routeUrl As String, physicalFile As String) As Route

参数

routeName
String

路由的名称。

routeUrl
String

路由的 URL 模式。

physicalFile
String

路由的物理 URL。

返回

将添加到路由集合的路由。

示例

以下示例演示如何使用此方法定义路由。 第一个语句定义没有名称的路由。 第二个语句定义命名路由。 此示例是方法概述中提供的更大示例的一 MapPageRoute 部分。

routes.MapPageRoute("",
    "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx");

routes.MapPageRoute("SalesSummaryRoute",
    "SalesReportSummary/{locale}", "~/sales.aspx");
routes.MapPageRoute("",
    "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx")

routes.MapPageRoute("SalesSummaryRoute",
    "SalesReportSummary/{locale}", "~/sales.aspx")

注解

提供此方法是为了方便编码。 它等效于调用 Add 方法并传递 Route 使用 PageRouteHandler 类创建的 对象。

另请参阅

适用于

MapPageRoute(String, String, String, Boolean)

提供用于定义 Web 窗体应用程序的路由的方法。

public:
 System::Web::Routing::Route ^ MapPageRoute(System::String ^ routeName, System::String ^ routeUrl, System::String ^ physicalFile, bool checkPhysicalUrlAccess);
public System.Web.Routing.Route MapPageRoute (string routeName, string routeUrl, string physicalFile, bool checkPhysicalUrlAccess);
member this.MapPageRoute : string * string * string * bool -> System.Web.Routing.Route
Public Function MapPageRoute (routeName As String, routeUrl As String, physicalFile As String, checkPhysicalUrlAccess As Boolean) As Route

参数

routeName
String

路由的名称。

routeUrl
String

路由的 URL 模式。

physicalFile
String

路由的物理 URL。

checkPhysicalUrlAccess
Boolean

一个值,该值指示 ASP.NET 是否应验证用户是否有权访问物理 URL(始终会检查路由 URL)。 此参数设置 CheckPhysicalUrlAccess 属性。

返回

将添加到路由集合的路由。

示例

以下示例演示如何使用此方法定义路由。 此示例是方法概述中提供的更大示例的一 MapPageRoute 部分。

routes.MapPageRoute("SalesDetailRoute",
    "SalesReportDetail/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
    false);
routes.MapPageRoute("SalesDetailRoute",
    "SalesReportDetail/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
    False)

注解

提供此方法是为了方便编码。 它等效于调用 Add 方法并传递 Route 使用 PageRouteHandler 类创建的 对象。

另请参阅

适用于

MapPageRoute(String, String, String, Boolean, RouteValueDictionary)

提供用于定义 Web 窗体应用程序的路由的方法。

public:
 System::Web::Routing::Route ^ MapPageRoute(System::String ^ routeName, System::String ^ routeUrl, System::String ^ physicalFile, bool checkPhysicalUrlAccess, System::Web::Routing::RouteValueDictionary ^ defaults);
public System.Web.Routing.Route MapPageRoute (string routeName, string routeUrl, string physicalFile, bool checkPhysicalUrlAccess, System.Web.Routing.RouteValueDictionary defaults);
member this.MapPageRoute : string * string * string * bool * System.Web.Routing.RouteValueDictionary -> System.Web.Routing.Route
Public Function MapPageRoute (routeName As String, routeUrl As String, physicalFile As String, checkPhysicalUrlAccess As Boolean, defaults As RouteValueDictionary) As Route

参数

routeName
String

路由的名称。

routeUrl
String

路由的 URL 模式。

physicalFile
String

路由的物理 URL。

checkPhysicalUrlAccess
Boolean

一个值,该值指示 ASP.NET 是否应验证用户是否有权访问物理 URL(始终会检查路由 URL)。 此参数设置 CheckPhysicalUrlAccess 属性。

defaults
RouteValueDictionary

路由参数的默认值。

返回

将添加到路由集合的路由。

示例

以下示例演示如何使用此方法定义路由。 此示例是方法概述中提供的更大示例的一 MapPageRoute 部分。

routes.MapPageRoute("SalesCurrentYearRoute",
    "SalesReportCurrent/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
    false,
    new RouteValueDictionary 
        { { "locale", "US" }, { "year", DateTime.Now.Year.ToString() } });
routes.MapPageRoute("SalesCurrentYearRoute",
    "SalesReportCurrent/{locale}/{year}/{*queryvalues}", "~/sales.aspx",
    false,
    new RouteValueDictionary(New With _ 
        { .locale = "US", .year = DateTime.Now.Year.ToString()}))

注解

提供此方法是为了方便编码。 它等效于调用 Add 方法并传递 Route 使用 PageRouteHandler 类创建的 对象。

另请参阅

适用于

MapPageRoute(String, String, String, Boolean, RouteValueDictionary, RouteValueDictionary)

提供用于定义 Web 窗体应用程序的路由的方法。

public:
 System::Web::Routing::Route ^ MapPageRoute(System::String ^ routeName, System::String ^ routeUrl, System::String ^ physicalFile, bool checkPhysicalUrlAccess, System::Web::Routing::RouteValueDictionary ^ defaults, System::Web::Routing::RouteValueDictionary ^ constraints);
public System.Web.Routing.Route MapPageRoute (string routeName, string routeUrl, string physicalFile, bool checkPhysicalUrlAccess, System.Web.Routing.RouteValueDictionary defaults, System.Web.Routing.RouteValueDictionary constraints);
member this.MapPageRoute : string * string * string * bool * System.Web.Routing.RouteValueDictionary * System.Web.Routing.RouteValueDictionary -> System.Web.Routing.Route
Public Function MapPageRoute (routeName As String, routeUrl As String, physicalFile As String, checkPhysicalUrlAccess As Boolean, defaults As RouteValueDictionary, constraints As RouteValueDictionary) As Route

参数

routeName
String

路由的名称。

routeUrl
String

路由的 URL 模式。

physicalFile
String

路由的物理 URL。

checkPhysicalUrlAccess
Boolean

一个值,该值指示 ASP.NET 是否应验证用户是否有权访问物理 URL(始终会检查路由 URL)。 此参数设置 CheckPhysicalUrlAccess 属性。

defaults
RouteValueDictionary

路由的默认值。

constraints
RouteValueDictionary

一些约束,URL 请求必须满足这些约束才能作为此路由处理。

返回

将添加到路由集合的路由。

示例

以下示例演示如何使用此方法定义路由。 此示例是方法概述中提供的更大示例的一 MapPageRoute 部分。

routes.MapPageRoute("ExpenseCurrentYearRoute",
    "ExpenseReportCurrent/{locale}", "~/expenses.aspx",
    false,
    new RouteValueDictionary 
        { { "locale", "US" }, { "year", DateTime.Now.Year.ToString() } },
    new RouteValueDictionary 
        { { "locale", "[a-z]{2}" }, { "year", @"\d{4}" } });
routes.MapPageRoute("ExpenseCurrentYearRoute",
    "ExpenseReportCurrent/{locale}", "~/expenses.aspx",
    false,
    new RouteValueDictionary(New With _
        { .locale = "US", .year = DateTime.Now.Year.ToString()}),
    new RouteValueDictionary(New With _
        { .locale = "[a-z]{2}", .year = "\d{4}" }))

注解

提供此方法是为了方便编码。 它等效于调用 Add 方法并传递 Route 使用 PageRouteHandler 类创建的 对象。

另请参阅

适用于

MapPageRoute(String, String, String, Boolean, RouteValueDictionary, RouteValueDictionary, RouteValueDictionary)

提供用于定义 Web 窗体应用程序的路由的方法。

public:
 System::Web::Routing::Route ^ MapPageRoute(System::String ^ routeName, System::String ^ routeUrl, System::String ^ physicalFile, bool checkPhysicalUrlAccess, System::Web::Routing::RouteValueDictionary ^ defaults, System::Web::Routing::RouteValueDictionary ^ constraints, System::Web::Routing::RouteValueDictionary ^ dataTokens);
public System.Web.Routing.Route MapPageRoute (string routeName, string routeUrl, string physicalFile, bool checkPhysicalUrlAccess, System.Web.Routing.RouteValueDictionary defaults, System.Web.Routing.RouteValueDictionary constraints, System.Web.Routing.RouteValueDictionary dataTokens);
member this.MapPageRoute : string * string * string * bool * System.Web.Routing.RouteValueDictionary * System.Web.Routing.RouteValueDictionary * System.Web.Routing.RouteValueDictionary -> System.Web.Routing.Route
Public Function MapPageRoute (routeName As String, routeUrl As String, physicalFile As String, checkPhysicalUrlAccess As Boolean, defaults As RouteValueDictionary, constraints As RouteValueDictionary, dataTokens As RouteValueDictionary) As Route

参数

routeName
String

路由的名称。

routeUrl
String

路由的 URL 模式。

physicalFile
String

路由的物理 URL。

checkPhysicalUrlAccess
Boolean

一个值,该值指示 ASP.NET 是否应验证用户是否有权访问物理 URL(始终会检查路由 URL)。 此参数设置 CheckPhysicalUrlAccess 属性。

defaults
RouteValueDictionary

路由参数的默认值。

constraints
RouteValueDictionary

一些约束,URL 请求必须满足这些约束才能作为此路由处理。

dataTokens
RouteValueDictionary

与路由关联的值,但这些值不用于确定路由是否匹配 URL 模式。

返回

将添加到路由集合的路由。

例外

routeUrl 参数为 null

示例

以下示例演示如何使用此方法定义路由。 此示例是方法概述中提供的更大示例的一 MapPageRoute 部分。

routes.MapPageRoute("ExpenseDetailRoute",
    "ExpenseReportDetail/{locale}/{year}/{*queryvalues}", "~/expenses.aspx",
    false,
    new RouteValueDictionary 
        { { "locale", "US" }, { "year", DateTime.Now.Year.ToString() } },
    new RouteValueDictionary 
        { { "locale", "[a-z]{2}" }, { "year", @"\d{4}" } },
    new RouteValueDictionary 
        { { "account", "1234" }, { "subaccount", "5678" } });
routes.MapPageRoute("ExpenseDetailRoute",
    "ExpenseReportDetail/{locale}/{year}/{*queryvalues}", "~/expenses.aspx",
    false,
    new RouteValueDictionary(New With _
        { .locale = "US", .year = DateTime.Now.Year.ToString()}),
    new RouteValueDictionary(New With _ 
        { .locale = "[a-z]{2}", .year = "\d{4}" }),
    new RouteValueDictionary(New With _
        { .account = "1234", .subaccount = "5678" }))

注解

提供此方法是为了方便编码。 它等效于调用 Add 方法并传递 Route 使用 PageRouteHandler 类创建的 对象。

另请参阅

适用于