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

时间:2012-04-19 17:26:31

标签: c# asp.net-mvc-3 razor actionlink

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

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

ClientController.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)

0 个答案:

没有答案