繁体   English   中英

Html.Action(“ MyView”,Model.SomeData)作为null传入?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM