刚刚开始我的第一个MVC 2.0 .net应用程序。我设置了一些默认页面,如:
/Loa/Register
/Loa/About
但是当我请求/Loa/sdfqsdf
(随机字符串)时出现"The resource cannot be found."
错误,如何将此不存在的操作重定向到默认操作?
就像“未找到操作”默认操作一样?
THX!
答案 0 :(得分:1)
您可以定义多个路由(在现实MVC应用程序中也很常见),因为某些路由具有与默认路由不同的特定设置。特别是如果你想做一些体面的SEO。
routes.MapRoute(
"DefaultRoute",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = string.Empty },
new { action = "Register|Index|About" } // route constraint that limits the actions that can be used with this route
);
routes.MapRoute(
"InvalidRoutes"
"{*dummy}",
new { controller = "Home", action = "Nonexisting" }
);
如果您要在路线表中添加其他路线,请确保将InvalidRoutes
定义为最后一条。