而不是“/ MyController / Index?teamId = 3& type = 4”,MVC路由更喜欢:“/ MyController / 3/4”。那么这样做的好处是什么?相反,我遇到了许多弊端。例如:
3和4是什么?
“你测试了/ MyController / 3/4吗?”“不,但我测试了/ MyController / Index / 3/4”“......”
我有一些js代码可以使“当前链接”为黑色文本。例如,如果页面上的链接(通常是菜单项)链接到页面本身,则链接将更改为黑色文本。但在这种情况下,页面“/ MyController / Index / 3/4”上的链接“/ MyController / 3/4”无法正确处理。
那么我们为什么要这样使用MVC路由呢?我应该如何克服上面列出的第三个问题?这就是我在这里的原因:)。
感谢任何提示。
答案 0 :(得分:1)
使用实际的字符串名称而不是使用ID的路由可以更好地使用它...例如/ Teams / TeamNameOrAbbreviation / TeamType
指向相同页面的不同链接源于routeconfig中设置的默认值。如果您不希望这种情况发生,您可以更改处理默认值的方式。
如果您使用MVC的内置方法,则可以正确处理链接。您可以使用@ Url.Action()等帮助程序来解析URL,以便在js代码中进行比较和使用,因为它每次都会生成相同的URL。
答案 1 :(得分:0)
这不是你迷茫的MVC路由。你需要了解的是SEO友好的网址。这些网址(“MyController / 3/4”)可帮助搜索引擎轻松找到网页。
看看这些链接。你有更好的理由。