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 應用程式中處理路由。 您可以為每個想要對應至可處理對應至該模式要求的類別建立 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) |