asp.net MVC路由有什么好处?

时间:2015-06-05 13:00:50

标签: asp.net-mvc

而不是“/ MyController / Index?teamId = 3& type = 4”,MVC路由更喜欢:“/ MyController / 3/4”。那么这样做的好处是什么?相反,我遇到了许多弊端。例如:

  1. 不适合人们阅读。
  2. 3和4是什么?

    1. 如果我将它们存储在某个地方(对于测试用例等),不同的链接可能指向相同的页面。
    2. “你测试了/ MyController / 3/4吗?”“不,但我测试了/ MyController / Index / 3/4”“......”

      1. 难以通过JavaScript进行分析。
      2. 我有一些js代码可以使“当前链接”为黑色文本。例如,如果页面上的链接(通常是菜单项)链接到页面本身,则链接将更改为黑色文本。但在这种情况下,页面“/ MyController / Index / 3/4”上的链接“/ MyController / 3/4”无法正确处理。

        那么我们为什么要这样使用MVC路由呢?我应该如何克服上面列出的第三个问题?这就是我在这里的原因:)。

        感谢任何提示。

2 个答案:

答案 0 :(得分:1)

  1. 使用实际的字符串名称而不是使用ID的路由可以更好地使用它...例如/ Teams / TeamNameOrAbbreviation / TeamType

  2. 指向相同页面的不同链接源于routeconfig中设置的默认值。如果您不希望这种情况发生,您可以更改处理默认值的方式。

  3. 如果您使用MVC的内置方法,则可以正确处理链接。您可以使用@ Url.Action()等帮助程序来解析URL,以便在js代码中进行比较和使用,因为它每次都会生成相同的URL。

答案 1 :(得分:0)

这不是你迷茫的MVC路由。你需要了解的是SEO友好的网址。这些网址(“MyController / 3/4”)可帮助搜索引擎轻松找到网页。

看看这些链接。你有更好的理由。

SEO Friendly URL

MVC Routing