PartialView模型为空,返回null引用

时间:2013-10-01 16:20:09

标签: c# asp.net-mvc partial-views

我正通过控制器上的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...
}

1 个答案:

答案 0 :(得分:1)

然后这样做:

@{ if (Model.Count() >0 )
   {
     do something...
   }