Asp.net mvc 2 在路由表中找不到操作?

Asp.net mvc 2 在路由表中找不到操作?,asp.net-mvc-2,asp.net-mvc-routing,Asp.net Mvc 2,Asp.net Mvc Routing,刚刚启动了我的第一个MVC2.0.net应用程序。我设置了一些默认页面,如: /Loa/Register /Loa/About 但是当我请求/Loa/sdfqsdf(随机字符串)时,我得到“找不到资源。”错误,我如何将这个不存在的操作重定向到默认操作 像“找不到操作”的默认操作 谢谢 使用路线 您可以定义多个路由(这在现实的MVC应用程序中也很常见),因为某些路由具有与默认路由不同的特定设置。尤其是如果你想做一个好的搜索引擎优化 routes.MapRoute( "DefaultRou

刚刚启动了我的第一个MVC2.0.net应用程序。我设置了一些默认页面,如:

/Loa/Register
/Loa/About
但是当我请求
/Loa/sdfqsdf
(随机字符串)时,我得到
“找不到资源。”
错误,我如何将这个不存在的操作重定向到默认操作

像“找不到操作”的默认操作

谢谢

使用路线 您可以定义多个路由(这在现实的MVC应用程序中也很常见),因为某些路由具有与默认路由不同的特定设置。尤其是如果你想做一个好的搜索引擎优化

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
被定义为最后一个路由。

我不知道“{*dummy}”是可能的,谢谢!一切皆有可能。对于需要默认值的部分,可以设置它们,对于不需要的部分,可以轻松忽略它们。在我的示例中,
dummy
没有默认值,它将被设置为您要访问的任何内容。