有没有办法摆脱MVC应用程序中每个控制器的url / Index

时间:2014-03-30 16:56:12

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我对MVC有点新意,所以开始使用带有ASPX引擎的MVC3。 我的情况是,当我创建一个控制器时,它会自动生成一个名为“Index”的Action,所以假设我创建了一个“Users”Controller +某些动作,它看起来就像这样。

UserController中

  • 索引
  • 添加
  • 删除
  • 修改
  • 其他行动

然后我创建另一个名为“Products”,“Company”等的控制器,让我们说同一组动作,

所以通常我会去链接../Users/Index我有逻辑来显示所有用户,它会对..Product / Index和..Company / Index等做同样的事情。它会显示所有产品和所有公司分别。

这部分故事很有用。

现在我想要实现的是,我想在url中删除/ Index,不仅仅是这三个控制器,而是我将来创建的每个控制器。 我想要消耗“索引”动作但是它不需要在任何地方打字。 这让我想起曾经是/index.html的过去。

我看过这些链接, MVC Routing get rid of /Index in URL 他们建议我改变特定情况的路线,但我希望这不只是在一个或两个控制器中完成,而是在我的应用程序中有每个控制器。

感谢。

1 个答案:

答案 0 :(得分:2)

在每个路线中,指定Index作为默认操作,例如:

routes.MapRoute(null, "{controller}/{action}/{id}",
   new { controller = "Home", action = "Index" });