我正通过控制器上的Action渲染PartialView。
这是向partial发送一个模型,然后填充部分进入的每个父项的子列表。
有些父对象没有子女。
我需要从partial中的模型中捕获一个Id,以将子列表链接到Accordion控件。
如果子模型为空,如何防止空引用异常?
有没有办法直接从动作发送ID?
目前的尝试......
@using BootstrapSupport
@model IEnumerable<WhatWorks.ViewModels.FamilyListViewModel>
@{ if (string.IsNullOrEmpty(Model.FirstOrDefault().familyId.ToString()))
{
do something...
}
else
{
int modelIndex = Model.FirstOrDefault().familyId;
控制器操作
public ActionResult Index(int Id)
{
var model = GetDisplay(Id).OrderBy(i => i.dob).AsEnumerable();
return PartialView("_family", model);
}
主视图
var family = model.GetIdValue();
<div class="accordion" id="@Html.Raw("accordion")@family.Values.FirstOrDefault()@Html.Raw("_b")">
@Html.Action("Index", "Family", new { Id = family["Id"] })
</div>
视图模型
public partial class FamilyListViewModel
{
public int Id { get; set; }
public int familyId { get; set; }
public string name { get; set; }
etc...
}
答案 0 :(得分:1)
然后这样做:
@{ if (Model.Count() >0 )
{
do something...
}