使用ASP.NET MVC 5中的路由属性设置默认控制器和操作



我是ASP.NET MVC的新手,并尝试学习ASP.NET MVC 5.我试图通过从头开始创建一个示例项目而不脚手架来学习它。我知道它通过调用routes.MapRoute方法,可以在RouteConfig.cs中指定默认控制器和默认操作。但是我想知道,我是否可以设置默认控制器&使用路由属性的动作无需使用RouteConfig.cs

edit :我发现,可以通过在RouteConfig.csRegisterRoutes方法中添加以下代码并删除其他行来执行此操作。

routes.MapMvcAttributeRoutes();

之后,在我们要设置默认值的控制器操作中,只需在操作上方添加[Route("~/")]属性即可。这应该做到。

但是,如果形式身份验证,我们将具有登录视图。如果我们没有传统的路由,那么重定向登录视图将失败,因为将是主页的默认控制器的基于属性的路由,并没有重定向到登录。如果我们还将[Route("~/")]属性添加到登录操作中,则会引发一个错误,说"发现多个控制器类型匹配URL。如果多个控制器上的属性路由与所请求的URL匹配。Div>

传统路由和属性路由可以一起工作。只是不要删除RouteConfig.cs中的其他行,并将routes.MapMvcAttributeRoutes();放在其他行之上匹配要求的URL

相关内容

  • 没有找到相关文章

最新更新