gpt4 book ai didi

asp.net-mvc - 在 MVC asp.net 中注册多个路由

转载 作者:行者123 更新时间:2023-12-02 11:53:37 24 4
gpt4 key购买 nike

我想在 MVC 中映射多个具有不同顺序参数的路由:

localhost:1010/abcd/home/index
localhost:1010/home/index/abcd

id=abcd
controller=home
action=index

我尝试了下面的代码,但它不起作用。

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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


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

最佳答案

它不会工作,因为两条路由具有相同的格式。

因此 MVC 路由引擎无法区分这两种 url 模式。

尝试将 Controller 直接写入 url 模式。

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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


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

}

关于asp.net-mvc - 在 MVC asp.net 中注册多个路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16139743/

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