【发布时间】:2010-12-08 10:24:20
【问题描述】:
有人能解释一下 MVC 2 中的路由是如何与控制器相关联的吗?目前,我在 /Controllers/HomeController.cs 中有一个控制器和一个视图 /Home/Index.aspx。
我的路由注册方法是这样的:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.MapRoute(
"Default",
// Route name
"{controller}/{action}/{id}",
// URL with parameters
new { controller = "Home", action = "Index", id = "" }
// Parameter defaults
);
}
如果我请求 URL:http://localhost/Home/Index,那么 HomeController.Index() 会正确处理该请求。
但是,在我的一生中,我无法弄清楚 /Home/Index url 是如何指向 HomeController 的。据我所知,视图 aspx 没有引用 HomeController,HomeController 没有引用视图,路由表也没有明确提到 HomeController。这是如何神奇地发生的?我肯定遗漏了一些明显的东西。
然后
【问题讨论】:
标签: asp.net asp.net-mvc-2 asp.net-mvc-routing