拡張機能へのマッピングはそれほど多くありません。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 to
SomeController.PageAsJSON(int ID)which returns a
JsonResult`
これらのルートは、サーバーの起動時に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にもいくつかの便利な情報があります。