MVC路由不明确
本文关键字:不明确 路由 MVC | 更新日期: 2023-09-27 18:27:03
我有一条心理路径:Home/signUp.aspx
和Controller/HomeController.cs (related to Views/home/index.aspx)
我的路由在全局中配置。asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");
//settings - manage toolbars
routes.MapRoute("SettingsManageToolbars", "home/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.MapRoute(
"Default",
// Route name
"toolbar/apps/{controller}/{action}/{id}",
// URL with parameters
new { controller = "Home", action = "Index", id = "" }
// Parameter defaults
);
}
当我冲浪到home'signup.aspx
我得到一个带有"目录内容"的文本页面
如何修复此路由?
默认情况下,路由不处理映射到Web服务器上现有物理文件的请求。路由不处理请求,即使它与已定义的模式匹配,例如{controller}/{action}/{id}。
如果希望路由处理所有请求,甚至是指向文件的请求,可以通过将RouteCollection对象的RouteExistingFiles属性设置为true来覆盖默认行为。当您将该值设置为true时,所有与定义的模式匹配的请求都将由路由处理。
http://msdn.microsoft.com/en-us/library/cc668201.aspx#scenarios_when_routing_is_not_applied
为什么您的家庭控制器是一个aspx文件?试着让它成为HomeController.cs!
我建议删除您当前的控制器,并通过上下文菜单添加另一个控制器(右键单击,添加)