ASP.NET MVC 5 Actionlink ignores actionname



这:

@Html.ActionLink(linkText: Txt.Get("rsTerugNaarOverzicht"),
actionName: "Index",
controllerName: "OfferteOverzicht", 
routeValues: new { is10Days = true, maand = Model.OverzichtMaand, jaar = Model.OverzichtJaar }, 
htmlAttributes: new { @class = "wijzigen" })

呈现为:

<a class="wijzigen" href="/OfferteOverzicht?is10Days=True&maand=3&jaar=2021">Terug naar overzicht</a>

我期待着这个:

<a class="wijzigen" href="/OfferteOverzicht/Index?is10Days=True&maand=3&jaar=2021">Terug naar overzicht</a>

我在这里做错了什么?

已解决。这是由路线图中的一个条目引起的:

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

我需要去掉第一个。

现在,即使在链接中不可见,也会调用并执行该操作。

最新更新