//路由的两种添加方法
第一种
//routes.MapRoute(
// "Default", // Route name
// "{controller}/{action}/{id}", // URL with parameters
// new { controller = "products", action = "Index", id = "" } // Parameter defaults
// , new { id = @"\d?" }
//);
------------------------------------------------------------
第二种 RouteTable.Routes.Add(
new Route("{controller}/{action}/{id}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary() { { "controller", "products" }, { "action", "index" }, { "id", 2 } },
Constraints = new RouteValueDictionary() { { "controller", "products" }, { "action", "index" }, { "id", @"\d?" } },
}
);
RouteTable.Routes.RouteExistingFiles = true;
解释是
Gets or sets a value that indicates whether ASP.NET routing should handle URLs that match an existing file.
那么, 如果使用第一种添加路由的方式,直接启动程序, 由于找不到 Default.aspx控制器,会出现黄页
而,使用第二种添加路由的方式,启动程序, 会自动选择默认设置好的控制器和方法(这里是products/index)
请问这两种添加路由规则的方法有什么区别?为什么会出现这种情况