gpt4 book ai didi

c# - ActionLink 不区分两个不同的相似路由

转载 作者:行者123 更新时间:2023-11-30 22:10:57 26 4
gpt4 key购买 nike

我有两条路线:

    routes.MapRoute(
"route1",
"{controller}/{action}/{param1}/{param2}/NotTest/{notParam}/{param4}",
new { controller = "Home", action = "Index" },
new[] { "Controllers" });

routes.MapRoute(
"route2",
"{controller}/{action}/{param1}/{param2}/Test/{param3}/{param4}",
new { controller = "Home", action = "Index" },
new[] { "Controllers" });

其中 NotTest 和 Test 都是 url 中的静态字符串,唯一区分这两个路由的是 notParam 和 param3 是不同的字符串。我可以使用 actionlink 很好地链接到 route2,但是每当我尝试链接到 route1 时,我都会收到一个对我的 Controller 的获取请求,其中包含一系列参数,而不是使用实际路由进行链接。使用 RouteLink,我什至得不到 URL...

我还应该做些什么来区分这两条路线吗?

我的链接是这样的:

@Html.ActionLink("Example Data", "Action", "Controller", new {param1= Model.Data, param2, param3, notParam, param4}, new { id = "columnsID" })

最佳答案

你应该使用 Html.RouteLink方法在这里:

@Html.RouteLink("Example Data", 
"route1",
new
{
action = "Action",
controller = "Controller"
/*other route values*/
})

关于c# - ActionLink 不区分两个不同的相似路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20505413/

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