Route 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供用于定义路由和获取有关路由的信息的属性和方法。
public ref class Route : System::Web::Routing::RouteBase
public class Route : System.Web.Routing.RouteBase
type Route = class
inherit RouteBase
Public Class Route
Inherits RouteBase
- 继承
- 派生
示例
以下示例演示如何创建 Route 对象并将其添加到 Routes 属性。
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new Route
(
"Category/{action}/{categoryName}"
, new CategoryRouteHandler()
));
}
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 categoryRoute As Route
urlPattern = "Category/{action}/{categoryName}"
categoryRoute = New Route(urlPattern, New CategoryRouteHandler)
routes.Add(categoryRoute)
End Sub
注解
类 Route 使你能够指定如何在 ASP.NET 应用程序中处理路由。 为要映射到类的每个 URL 模式创建一个 Route 对象,该类可以处理与该模式对应的请求。 然后,将路由添加到集合。Routes 当应用程序收到请求时,ASP.NET 路由循环访问集合中的 Routes 路由,以查找与 URL 模式匹配的第一个路由。
将 Url 属性设置为 URL 模式。 URL 模式由 HTTP 请求中应用程序名称后面的段组成。 例如,在 URL http://www.contoso.com/products/show/beverages
中, 模式适用于 products/show/beverages
。 具有三个段的模式(例如 {controller}/{action}/{id}
)与 URL http://www.contoso.com/products/show/beverages
匹配。 每个段都由 /
字符分隔。 当段括在大括号 ({
和 }
) 时,该段将引用 URL 参数。 ASP.NET 路由从请求中检索值并将其分配给 URL 参数。 在前面的示例中,为 URL 参数 action
分配了值 show
。 如果段未括在大括号中,则该值被视为文本值。
将 Defaults 属性设置为对象 RouteValueDictionary ,该对象包含 URL 中缺少参数时使用的值,或者设置 URL 中未参数化的其他值。 将 Constraints 属性设置为包含 RouteValueDictionary 正则表达式或 IRouteConstraint 对象的值的对象。 这些值用于确定参数值是否有效。
构造函数
Route(String, IRouteHandler) |
使用指定的 URL 模式和处理程序类初始化 Route 类的新实例。 |
Route(String, RouteValueDictionary, IRouteHandler) |
通过使用指定的 URL 模式、默认参数值和处理程序类,初始化 Route 类的新实例。 |
Route(String, RouteValueDictionary, RouteValueDictionary, IRouteHandler) |
使用指定的 URL 模式、默认参数值、约束和处理程序类初始化 Route 类的新实例。 |
Route(String, RouteValueDictionary, RouteValueDictionary, RouteValueDictionary, IRouteHandler) |
使用指定的 URL 模式、默认参数值、约束、自定义值和处理程序类初始化 Route 类的新实例。 |
属性
Constraints |
获取或设置表达式字典,用于指定 URL 参数的有效值。 |
DataTokens |
获取或设置传递到路由处理程序但未用于确定该路由是否与 URL 模式匹配的自定义值。 |
Defaults |
获取或设置要在 URL 不包含所有参数时使用的值。 |
RouteExistingFiles |
获取或设置一个值,它指示 ASP.NET 路由是否应处理与现有文件匹配的 URL。 (继承自 RouteBase) |
RouteHandler |
获取或设置处理路由的请求的对象。 |
Url |
获取或设置路由的 URL 模式。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetRouteData(HttpContextBase) |
返回有关所请求路由的信息。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
GetVirtualPath(RequestContext, RouteValueDictionary) |
返回与路由关联的 URL 的相关信息。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ProcessConstraint(HttpContextBase, Object, String, RouteValueDictionary, RouteDirection) |
确定参数值是否与该参数的约束匹配。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |