[英]Html.Action(“MyView”, Model.SomeData) passed in as null?
下面是我的代码的简短版本,这是非常基本的。 在我的页面模型中,我有一个可枚举的字段,正在传递给Action()方法。 问题是,在视图中调用Html.Action()之前,它不为null。 但是,一旦将其放入子动作中,它就会突然为空-好像它没有被传入。
在类似的尝试中,我尝试执行Html.Partial(“ OverlayAlerts”,Model.Alerts),它仍然将数据作为null传递。 我不确定为什么会这样。 调试时,将在调用Action()(或Partial())方法之前填充Alerts属性。 有任何想法吗? 谢谢。
页面控制器动作
public ActionResult Index()
{
var model = new DashboardModel()
{
...
Alerts = GadgetService.GetAlerts()
...
};
return View(model);
}
模型:
public class DashboardModel
{
...
public IEnumerable<AlertMessage> Alerts { get; set; }
...
}
视图
<%: Html.Action("GetOverlayAlerts", Model.Alerts)%>
儿童动作(相同的控制器)
[ChildActionOnly]
public ActionResult GetOverlayAlerts(IEnumerable<AlertMessage> alerts)
{
alerts.Any(); // <--- FAILS: alerts is passed through as null?
}
尝试这个:
<%: Html.Action("GetOverlayAlerts", new {alerts = Model.Alerts})%>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.