C# 是否将Html.Action(“MyView”,Model.SomeData)作为null传入?
下面是我的代码的简短版本,非常基本。在我的页面模型中,我有一个可枚举字段,我将它传递到Action()方法中。问题是,在视图中调用Html.Action()之前,它不是null。然而,一旦它进入子操作,它就会突然为空——好像它没有被传入 在一次类似的尝试中,我尝试了Html.Partial(“overlayelerts”,Model.Alerts),但它仍然以null的形式传递数据。我不知道这是为什么。调试时,将在调用Action()或Partial()方法之前填充Alerts属性。有什么想法吗?谢谢 页面控制器操作C# 是否将Html.Action(“MyView”,Model.SomeData)作为null传入?,c#,asp.net-mvc,C#,Asp.net Mvc,下面是我的代码的简短版本,非常基本。在我的页面模型中,我有一个可枚举字段,我将它传递到Action()方法中。问题是,在视图中调用Html.Action()之前,它不是null。然而,一旦它进入子操作,它就会突然为空——好像它没有被传入 在一次类似的尝试中,我尝试了Html.Partial(“overlayelerts”,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; }
...
}
公共类仪表板模型
{
...
公共IEnumerable警报{get;set;}
...
}
查看
<%: Html.Action("GetOverlayAlerts", Model.Alerts)%>
子操作(同一控制器)
[ChildActionOnly]
公共操作结果GetOverlayAlerts(IEnumerable警报)
{
alerts.Any();//尝试以下操作:
<%: Html.Action("GetOverlayAlerts", new {alerts = Model.Alerts})%>
成功了!现在,我该怎么做才能使用Html.Partial()直接传递到视图中?@Ryan:如果你愿意,你可以把它作为一个新问题发布。
<%: Html.Action("GetOverlayAlerts", new {alerts = Model.Alerts})%>