gpt4 book ai didi

asp.net-mvc - .Net MVC 路由 Catchall 不工作

转载 作者:行者123 更新时间:2023-12-03 14:56:13 24 4
gpt4 key购买 nike

我似乎无法弄清楚这一点。我正在试验 MVC Beta 并试图实现一个包罗万象的路由,这样如果用户输入 mysite.com/blah 而不是 mysite.com/home/index ,它将命中“错误”路由。

不幸的是,“默认”路由似乎总是首先捕获“废话”。事实上,我能够到达“错误”路线的唯一路线是废话/废话/废话/废话。

这是它应该工作的方式吗,因为我已经看到其他示例,它们的“默认”和“错误”路由设置就像这样,似乎如果他们要输入一个不存在的 Controller 会遇到“错误”路线。

有什么我遗漏的(很有可能)还是我只需要为每个 Controller 创建一个特定的路由?

我正在使用的代码:

        routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);

routes.MapRoute(
"Error",
"{*catchall}",
new { controller = "Base", action = "Error", id = "404" }
);

谢谢,
杰夫

最佳答案

您的第一个路由将捕获最多的 url,因为您有元素的默认值,您可以使用 Phil Haack 的路由调试器将其可视化,请参阅链接:

Route Debugger

关于asp.net-mvc - .Net MVC 路由 Catchall 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/318886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com