【问题标题】:Defining routes for all my actions and controllers in ASP.NET MVC route collection [closed]在 ASP.NET MVC 路由集合中为我的所有操作和控制器定义路由 [关闭]
【发布时间】:2015-06-27 23:54:42
【问题描述】:

我对 ASP.NET MVC 中的路由有点陌生。我正在构建一个具有多个控制器和多个操作的项目。但是,我想知道是否必须为每个控制器的每个操作定义一个新路由到路由集合? 谢谢。

【问题讨论】:

  • 我建议您先阅读一些教程和文档,例如 ASP.NET MVC Routing OverviewMVC Controllers and RoutingASP.NET Routing。当默认路由不能满足你的需求时,你只需要定义具体的路由。
  • 感谢您的文章。
  • 我投票结束这个问题,因为它是关于最佳实践和编程理论的。这更适合 Programmers.StackExchange,但是这个问题仍然需要进行一些清理,然后才能在那里“成为主题”。
  • 我不同意,OP 询问他们是否必须为每个控制器的每个操作定义路由。好问题,因为路由到控制器的匹配逻辑对我们初学者来说似乎很神奇!

标签: asp.net asp.net-mvc routes asp.net-mvc-routing url-routing


【解决方案1】:

我想知道我是否必须为路由集合定义一条新路由 每个控制器的每个动作?

不,您不必必须为每个操作定义新路线。

为我的操作定义路线的主要原因是什么? 如果在任何情况下我都可以要求采取行动和 即使没有定义路由,也可以通过 url 进行控制器?

默认路由在大多数情况下都可以达到目的,但是您会发现添加自定义特定路由有意义的实例。

自定义路由为您提供强大的功能,尤其是在您添加 route constraints 时。

请参阅this 文章了解详细信息和示例。

【讨论】:

  • 谢谢。我得到了它。但是我主要担心的是,如果有人在他们的浏览器地址中输入了错误的内容,可能无法调用正确的操作或控制器会发生什么。所以我试图为此定义带有可选参数的路由。但我认为这不是正确的方法。我该如何处理?
  • 如果有人输入了错误的 URL 或试图修改 URL,将他们引导到错误页面,并显示“找不到您请求的页面”。无论您定义多少条路线,情况总是如此。
猜你喜欢
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
  • 2015-07-17
  • 2018-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多