@Html.ActionLink忽略actionName,默认为Index。

14 浏览
0 Comments

@Html.ActionLink忽略actionName,默认为Index。

我正试图从不同的控制器中的一个视图重新路由到我的Client控制器中的\"ClnVwDet\"操作,使用这个@Html.ActionLink。\n

@Html.ActionLink("客户视图", "ClnVwDet", "Client")

\n

ClientController.cs

\n

public ActionResult ClnVwDet()
{
  int id = (int)TempData["id"];
  bool vw = true; int pn = 0;
  return RedirectToAction("Details", new { id, pn, vw });
}

\n无论我使用什么actionName,它总是跳转到Client的\"Index\"操作,而不是我指定的操作。\n这个更正后的ActionLink的语法是正确的。\n

@Html.ActionLink("客户视图", "ClnVwDet", "Client", new { id = @Model.Id }, null)

\n在这里找到答案:使用Html.ActionLink调用不同控制器上的操作。请参考Banfords在cagdas的答案中的评论。要获得正确的重载,您需要添加第五个参数。\n如果您想要使用(linkText,actionName,controllerName)重载传递routeValues,您必须添加htmlAttribues以获得正确的重载。\n(linkText,actionName,controllerName,routeValues,htmlAttribues)

0