More Related Content
Similar to Pro aspnetmvc3framework chap11
Similar to Pro aspnetmvc3framework chap11 (20)
Pro aspnetmvc3framework chap11
- 7. 7
どこにマッピングルールを書くのか
= Global.asax の Application_Start です。
public class MvcApplication : HttpApplication
{
protected void Application_Start()
{
//...
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
RouteTableのRouteコレクションにマッピング情報を追加する
- 9. 9
マッピングルールのバリエーション
routes.MapRoute(
“84zumeWorksMap", 名前
マッピング方法
"{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new デフォルト値
{
controller = "^H.*",
httpMethod = new HttpMethodConstraint("GET"),
customConstraint = new UserAgentConstraint("IE")
制約
},
new[] {"UrlsAndRoutes.Controllers"}
); 探す名前空間
- 13. 13
Routing Systemの拡張ポイント
• RouteBaseをオーバーライドする。
{controller}や{action}以外のマッチング規則を追加できる。
サブドメインに基づくルーティングも書ける。
http://warehouse.84zumeworks.com/
• IRouteHandlerを実装する。
そもそものルーティングの仕組みを変更できる。
→
ちなみに…MVCRouteHandler(MvcHandler)は
controllerのインスタンス化とかを内部的にしてる。
- 17. 17
URLは大事。
http://omniti.com/helps/national-geographic