我想了解如何使用:
@Html.Action("GetOptions", )
我想做的是将呼叫传递给我的控制器并传递参数:
pk = "00" and rk = "00"
有人可以解释我如何使用Html.Action
来做到这一点答案 0 :(得分:43)
您应该查看Action方法的文档;它的解释很好。对于您的情况,这应该工作:
@Html.Action("GetOptions", new { pk="00", rk="00" });
controllerName
参数将默认为从中调用Html.Action
的控制器。因此,如果您尝试从另一个控制器调用操作,则必须指定控制器名称,如下所示:
@Html.Action("GetOptions", "ControllerName", new { pk="00", rk="00" });
答案 1 :(得分:9)
首先,创建一个包含参数的类:
public class PkRk {
public int pk { get; set; }
public int rk { get; set; }
}
然后,使用Html.Action
传递参数:
Html.Action("PkRkAction", new { pkrk = new PkRk { pk=400, rk=500} })
并在Controller中使用:
public ActionResult PkRkAction(PkRk pkrk) {
return PartialView(pkrk);
}
答案 2 :(得分:0)
另一种情况是http重定向。 如果您的页面将http请求重定向到https,则可能是您的部分视图尝试自行重定向。
它再次导致同样的问题。 对于此问题,您可以重新组织.net错误页面或iis错误页面配置。
只需确保将请求重定向到正确的错误或找不到页面,并确保此错误页面包含无问题的部分。如果您的页面仅支持https,请不要在不使用https的情况下将请求转发到错误页面,如果错误页面包含partial,则此partials会尝试从请求的URL单独重定向,这会导致问题。