gpt4 book ai didi

asp.net-mvc - url中没有 Controller 的MVC路由

转载 作者:行者123 更新时间:2023-12-04 09:07:41 25 4
gpt4 key购买 nike

如何配置 ASP.NET MVC 3 路由,使其不在 url 中显示 Controller ?

这是我的路线

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

routes.MapRoute(
"HomeActions",
"{action}",
new { action= "AboutUs" }
);

我需要网址:
mysite.com/AboutUs

但我有
 mysite.com/Home/AboutUs

最佳答案

我会非常具体地说明您要路由的网址。并将其放置在默认路由上方。

    routes.MapRoute(
"HomeActions",
"AboutUs",
new { controller = "Home", action= "AboutUs" }
);

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

对您建议的路线不那么具体可能会产生不良后果。特别是如果在默认路由下面列出。
routes.MapRoute(
"HomeActions",
"{action}",
new { controller = "Home", action= "AboutUs" }
);

例如,如果在默认之后添加了上述路由,则 url http://www.example.com/AboutUs可能匹配路由 {controller = "AboutUs", action = "Index", id = UrlParamter.Optional}。如果您在默认路由之上添加了路由,则查找 url http://www.example.com/Users您可能希望成为 Users Controller 上的 Index 操作现在将在 Home Controller 上查找 Users 操作。

所以,我建议具体说明这样的路线。

关于asp.net-mvc - url中没有 Controller 的MVC路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6047155/

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