序列中不包含剃刀中的元素

时间:2014-03-04 01:33:26

标签: asp.net asp.net-mvc-4 razor-2

我有一个剃刀视图,应该返回一个客户列表:

@model IEnumerable<myapp.Models.customers>
@{
    ViewBag.Title = "customers";
}

@Model.First().Order.Name

显示客户详细信息可以正常工作,这不是问题。我想在顶部显示一次订单的名称。订单与客户的关系是1到多,因此一些订单可以没有客户。那是我收到这个错误的时候:

[InvalidOperationException: Sequence contains no elements]
   System.Linq.Enumerable.First(IEnumerable`1 source) +269

问题是如何在Razor视图中检查这一点并显示用户友好的消息?

1 个答案:

答案 0 :(得分:0)

您始终可以通过检查第一个客户的订单是否为空来评估第一个订单......

 @{
        if(Model.FirstOrDefault() != null && Model.FirstOrDefault().Order != null)
        {
            <span class="order-name">Model.First().Order.Name</span>
        }
        else
        {
            <span class="order-error">Error Message</span>
        }
    }