有人可以解释路由如何与 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() 会正确处理该请求。
但是,对于我的生活,我无法弄清楚 url /Home/Index 是如何指向 HomeController 的。据我所知,视图 aspx 没有引用 HomeController,HomeController 没有引用视图,路由表也没有明确提到 HomeController。这是如何神奇地发生的?当然,我错过了一些明显的东西。
然后