gpt4 book ai didi

c# - 自定义 map 路线在 asp.net mvc 中不起作用

转载 作者:行者123 更新时间:2023-11-30 15:15:51 24 4
gpt4 key购买 nike

我有一个自定义的 mvc 路由,它不工作。如果我在家庭路线之前定义路线,那么它就不会工作。

此代码无效。

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

routes.MapRoute(
"Citysearch",
"{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);

当我首先定义 citysearch 时,它会像这样工作

routes.MapRoute(
"Citysearch",
"{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);

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

另一个问题是,这是城市搜索的 url http://localhost:51381/dynamic-contentdynamic-content 这是我的状态参数。它正在调用我的 Dashboard/GetDynamicContent。但问题是当应用程序在登录 url 之后运行时 http://localhost:51381/Home 它总是调用 Dashboard/GetDynamicContent 如何摆脱这个问题请帮帮我.

最佳答案

路线是从上到下阅读的。因此,路由时会使用第一个匹配的路由。

试试这个

routes.MapRoute(
"Home",
"Home/{action}",
new { controller = "Home", action = "index" }
);

routes.MapRoute(
"Citysearch",
"DynamicContent/{state}",
new { controller = "Dashboard", action = "GetDynamicContent" }
);

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

关于c# - 自定义 map 路线在 asp.net mvc 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257301/

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