【发布时间】:2012-01-16 00:56:07
【问题描述】:
我正在尝试了解如何使用:
@Html.Action("GetOptions", )
我想做的是将调用传递给我的控制器并传递参数:
pk = "00" and rk = "00"
谁能解释我如何用 Html.Action 做到这一点
【问题讨论】:
我正在尝试了解如何使用:
@Html.Action("GetOptions", )
我想做的是将调用传递给我的控制器并传递参数:
pk = "00" and rk = "00"
谁能解释我如何用 Html.Action 做到这一点
【问题讨论】:
您应该查看Action 方法的文档;解释得很好。对于您的情况,这应该有效:
@Html.Action("GetOptions", new { pk="00", rk="00" });
controllerName 参数将默认为调用 Html.Action 的控制器。因此,如果您尝试从另一个控制器调用操作,则必须像这样指定控制器名称:
@Html.Action("GetOptions", "ControllerName", new { pk="00", rk="00" });
【讨论】:
首先,创建一个类来保存您的参数:
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} })
并在控制器中使用:
public ActionResult PkRkAction(PkRk pkrk) {
return PartialView(pkrk);
}
【讨论】:
另一种情况是http重定向。 如果您的页面将 http 请求重定向到 https,则可能是您的部分视图尝试自行重定向。
它再次导致同样的问题。 对于这个问题,您可以重新组织您的 .net 错误页面或 iis 错误页面配置。
只需确保您将请求重定向到正确的错误或未找到页面,并确保此错误页面包含无问题的部分。如果您的页面仅支持 https,请勿在不使用 https 的情况下将请求转发到错误页面,如果错误页面包含部分内容,则此部分内容会尝试与请求的 url 分开重定向,这会导致问题。
【讨论】: