好的,我完成了我的作业并搜索了SO,确实我找到了类似的问题,但没有报告我正在接受的行为。
这是交易,我已经定义了一条路线:
routes.MapRoute("CategoryName", "Category/Name/{text}",
new { controller = "Category", action = "Name", text = "" });
这里的扭曲如下:
此网址:http://www.url.com/Category/Name/existingCategoryName
此网址:http://www.url.com/Category/Name/anotherExistingCategoryName
url的应该转到同一个控制器方法public ActionResult Name(string text)
,但遗憾的是第一个网址是默认的Index
方法,第二个网址正确路由。
我想知道为什么会发生这种情况,因为我已经使用.net mvc好几年了,从未经历过这种行为。
这里有一些注意事项:
Name
方法。CategoryName
路线,行为也一样。Category/Index
中编写每个链接时,我使用相同的@Html.RouteLink()
帮助程序,因此所有链接的格式都相同。提前致谢!
答案 0 :(得分:0)
您是否在失败路线中使用-
标志?
也许您可以使用Routing debugger
找到更多信息也许你可以看看这个问题:Failing ASP.NET MVC route. Is this a bug or corner case?
中为您的问题提供了可能的答案