【发布时间】:2013-10-02 00:55:16
【问题描述】:
我正在通过控制器上的 Action 呈现 PartialView。
这是向部分发送一个模型,然后为部分进入的每个父项填充一个子列表。
一些父对象没有子对象。
我需要从部分模型中捕获一个 Id 以将子列表链接到 Accordion 控件。
子模型为空时如何防止空引用异常?
有什么方法可以直接从 Action 发送 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...
}
【问题讨论】:
-
你能发表你的观点吗?我想看看你是怎么称呼部分的。
-
您还介意发布您的模型吗?在没有看到他们的情况下试图弄清楚这一点有点令人困惑。
-
@JohnH 我已经添加了 ViewModel 和调用部分的主视图中的代码。该错误是由于某些部分视图的 ViewModel 为空造成的。
标签: c# asp.net-mvc partial-views