我有我的ViewModel
public class FestivalViewModel
{
public virtual DateTime Date { get; set; }
public virtual IList<EventGroup> EventGroups { get; set; }
}
我在控制器的结果中创建并填充视图模型:
var festivalViewModel = new FestivalViewModel();
festivalViewModel.Date = festival.Events.First().StartsOn;
festivalViewModel.EventGroups = festival.GetEventGroups();
我的GetEventGroups()方法是
public virtual IList<EventGroup> GetEventGroups()
{
return this.Events.GroupBy(each => each.StartsOn.Date)
.Select(result =>
new EventGroup
{
Date = result.Key,
Events = result.ToList()
})
.ToList();
}
在我的Razor视图中,我试图浏览填充的数据并显示它:
@foreach (var eventGroup in this.Model.EventGroups)
{
<p><strong>@eventGroup.Date</strong></p>
}
问题是,@ eventGroup.Date抛出异常:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法对空引用执行运行时绑定
任何可能导致此问题的帮助都将受到高度赞赏。我查看了现有的答案,但似乎没有一个与此相关(或者我恰好是盲目的)
编辑: 原来是什么造成了这个
id="checkbox-table-@ViewBag.MissingViewBagElement.IndexOf(eventGroup)"
位于游戏的不同部分,比我们心爱的调试器显示的行更远