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 請求中位於應用程式名稱之後的區段組成。 例如,在網址 http://www.contoso.com/products/show/beverages中,該模式適用於 products/show/beverages。 一個包含三個段的模式,例如 {controller}/{action}/{id},會與網址 http://www.contoso.com/products/show/beverages相符。 每個段落都以 / 角色為界定。 當段被大括號包圍時({}和),該段會被引用為一個網址參數。 ASP.NET 路由會從請求中取得該值並將其指派到網址參數。 在前述範例中,URL 參數 action 被賦予值 show。 若段未被大括號包圍,則該值視為字面值。
將屬性設定 Defaults 為 RouteValueDictionary 一個物件,包含當 URL 缺少某個參數時會使用的值,或是設定 URL 中未參數化的其他值。 將屬性 Constraints 設定為 RouteValueDictionary 包含正則表達式或 IRouteConstraint 物件的物件。 這些值用來判斷參數值是否有效。
建構函式
| 名稱 | Description |
|---|---|
| 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 實例。 |
屬性
| 名稱 | Description |
|---|---|
| Constraints |
取得或設定一個表達式字典,指定 URL 參數的有效值。 |
| DataTokens |
取得或設定自訂值,這些值會傳遞給路由處理器,但這些值不會用來判斷路由是否符合 URL 模式。 |
| Defaults |
如果 URL 不包含所有參數,則取得或設定要用的值。 |
| RouteExistingFiles |
取得或設定一個值,指示路由 ASP.NET 是否應該處理與現有檔案相符的網址。 (繼承來源 RouteBase) |
| RouteHandler |
接收或設定處理路由請求的物件。 |
| Url |
取得或設定路由的網址模式。 |
方法
| 名稱 | Description |
|---|---|
| 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) |