gpt4 book ai didi

asp.net-mvc-3 - 使用ASP MVC3,我的路由如何在URL的中间使用可选参数?

转载 作者:行者123 更新时间:2023-12-04 18:13:28 24 4
gpt4 key购买 nike

我希望我的网址使用约定:

/{controller}/{id}/{action}

而不是
/{controller}/{action}/{id}

我尝试设置一条路线,如下所示:

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

但这是行不通的,因为我无法将id参数设为可选参数。

以下网址 可以工作:
/campaign/1234/dashboard
/campaign/1234/edit
/campaign/1234/delete

但是这些URL 并不:
/campaign/create
/campaign/indexempty

MVC只是为两者调用 Index。我究竟做错了什么?

最佳答案

我认为您可能需要两条单独的路线。

routes.MapRoute(
"CampaignDetail",
"{controller}/{id}/{action}",
new { controller = "Campaign", action = "Index" }
);

routes.MapRoute(
"Campaign",
"{controller}/{action}",
new { controller = "Campaign", action = "Index" }
);

关于asp.net-mvc-3 - 使用ASP MVC3,我的路由如何在URL的中间使用可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314148/

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