【问题标题】:Is there a way to get rid of /Index in url of every controller in an MVC application有没有办法摆脱 MVC 应用程序中每个控制器的 url 中的 /Index
【发布时间】:2023-04-08 21:02:01
【问题描述】:

我对 MVC 有点陌生,所以从带有 ASPX 引擎的 MVC3 开始。 我的场景是,当我创建一个控制器时,它会自动生成一个名为“Index”的动作,所以假设如果我创建一个“用户”控制器 + 一些动作,它看起来像这样。

用户控制器

  • 索引
  • 添加
  • 删除
  • 编辑
  • 其他操作

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

因此,通常当我转到链接 ../Users/Index 时,我有显示所有用户的逻辑,它会为 ..Product/Index 和 ..Company/Index 等做同样的事情。它会显示所有产品和所有公司。

故事的这一部分运作良好。

现在我想要实现的是,我想摆脱 url 中的 /Index ,不仅仅是这三个控制器,而是我将来创建的每个控制器。 我想使用“索引”操作,但它不需要在任何地方输入。 它只是让我想起曾经有 /index.html 的过去。

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我不知道如何,但只有你提到的一条这样的路线,它适用于所有控制器。我不再需要在 url 中输入 /index。谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 2022-01-10
    • 2011-06-15
    • 1970-01-01
    • 2016-03-16
    相关资源
    最近更新 更多