拡張機能へのマッピングはそれほど多くありません。MVC4のURLはファイルに直接対応する必要はありません。代わりに、コントローラーのアクションに対応するルートを登録します。したがって、このために、次のルートを持つことができます。
/something/page/{ID}どのリンクにどのリンクをSomeController.ShowPage(int ID)返すかViewResult
/something/page/{ID}/xmlどのリンクにどのリンクをSomeController.PageAsXML(int ID)返すかXDocument
/something/page/{ID}/json which links toSomeController.PageAsJSON(int ID)which returns aJsonResult`
これらのルートは、サーバーの起動時にApplication_Start()コードで呼び出されるメソッドによって登録されます。XMLページの例の単純なルート登録は次のようになります。
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"PageView_XML",
"{controller}/page/{id}/xml",
new { id = "" }
);
}
}
ここでは、ルートは、 aとa"PageView_XML"もある架空の命名スキームに適合するように呼び出されます。名前は一意である必要があります。パターンに一致するすべてのURLはこのルートを使用します。ここで、のように記述されたものはすべて、適切な場所の任意の文字列に一致するパラメーターです。デフォルト値(空の文字列)が指定されていることに気付くでしょう。これはおそらくあまり役に立ちません。コントローラメソッドが認識し、代わりに適切なエラーページを表示するために使用するものを選択できます。"PageView""PageView_JSON"{controller}/page/{id}/xml{this}{id}""
{param}タグとテキストを混在させることができるので、{controller}/page/{id}-xmlまたは機能し{controller}/page/{id}_{format}ます。処理方法が異なる可能性があるため、よくわかり{controller}/page/{id}.xmlません。{controller}/page/{id}.{format}.
ルートの追加の詳細については、ルーティングに関するMSDN情報、特にこのビットを参照してください。O'Reillyにもいくつかの便利な情報があります。