2

从另一个控制器中的视图,我尝试使用此@Html.ActionLink 重新路由到我的客户端控制器中的“ClnVwDet”操作。

@Html.ActionLink("Client View", "ClnVwDet", "Client")

客户端控制器.cs

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

无论我使用什么 actionName,它总是转到客户端“索引”操作,而不是我指定的操作。

ActionLink 的此更正语法有效。

@Html.ActionLink("Client View", "ClnVwDet", "Client", new { id = @Model.Id }, null)

在这里找到答案:Using Html.ActionLink to call action on different controller。请参阅 Banfords 对 cagdas 答案的评论。要获得正确的重载,您需要添加第五个参数。如果您想通过 (linkText, actionName, controllerName) 重载传递 routeValues,您必须添加 htmlAttribues 以获得正确的重载。(linkText、actionName、controllerName、routeValues、htmlAttribues)

4

0 回答 0