Asp.Net MVCのルーティングのマッチ

                                                                                                           Asp.Net MVCのルーティングのマッチ

まず、上の{コントローラ} / {アクション}

(1)は、必須である:MVCシステムが実用的であり、それが見つからないので、{コントローラ} / {アクション}は、必須であるエラーパスが存在しない場合

(2)、合意された規則は、このプレースホルダは、MVCの内部に合意され、コントローラは自動的に解析し、動作の対応する方法であろう

(3)柔軟性2つの規則は、任意の位置のプレースホルダであってもよいです

パブリッククラスRouteConfig
{
パブリック静的ボイドRegisterRoutes(RouteCollectionルート)
{
routes.IgnoreRoute( "{リソース} .axd / {*}パス情報")。
//默认路由
routes.MapRoute(
名称: "デフォルト"、
URL: "{コントローラ} / {アクション} / {ID}"、
デフォルト:新しい{コントローラー= "管理者"、アクション= "インデックス"、ID = UrlParameter。オプション}
);
//含有常量的路由
routes.MapRoute(
名称: "TEST0"、
URL: "{最初} / {秒} / {三} / {記載} / ASPX"、
デフォルト:新しい{コントローラ= "仕事"、アクション= "インデックス"、ID = UrlParameter.Optional}
)。
//只有一个控制器的路由
routes.MapRoute(
名称: "TEST1"、

デフォルト:新しい{コントローラ= "管理者"、ACTION = "インデックス"、ID = UrlParameter.Optional}
)。
//只有一个动作方法的路由
routes.MapRoute(
名称: "TEST2"、
URL: "{アクション} / {記事} / {著者} / {年} / {月} / {日}"、
デフォルト:新しいです{コントローラ= "仕事"、ACTION = "インデックス"、ID = UrlParameter.Optional}
)。

}
}

注:これは、特定のルートの傍受が登場する前にルートが間違っていたかもしれない場合は、場所を変更したり、ルーティングの問題を変更することができます

第二に、他のプレースホルダ

(1)のみを占有する。例えば、{AA} / {BB} / {CC}を、{AA}はコントローラ{BB}に解決することができなかった操作方法に解決することはできません

(2)、デフォルト要件:誰{コントローラ} / {アクション}をルーティングしない、または単に一つの所定された場合、所定のデフォルト値が使用されるのどの部分が存在しません。例えば

URL: "{年} / {月} / {日} / {コントローラ}"、

デフォルト:新しい{コントローラ= "仕事"、ACTION = "インデックス"、ID = UrlParameter.Optional}

このルートは、デフォルトのURLコントローラ作業インデックス法に適合しています

第三に、照合順序

(1)において、好ましくは使用される:URLをルーティング一致複数の、使用が優先一致しています

(2)を回避:複数の一致を避けるために、複数の経路を画定します

 

おすすめ

転載: www.cnblogs.com/zjifafengfang/p/12020675.html