C# 无迭代的MVC IEnumerable模型

C# 无迭代的MVC IEnumerable模型,c#,asp.net-mvc,C#,Asp.net Mvc,菜鸟问题。所以我有一个IEnumerable模型,正如你们所看到的,我的问题很简单。我只想得到模型中第一项的值,而不需要遍历整个模型 因为这只是一个例子。我不想仅仅为了从模型中获取1个实体而从模型中删除,我也不想依赖ViewBag或ViewData来实现这一点 这可能吗 Client=Model.FirstOrDefault().ClientID 对象引用未设置为对象的实例 我还尝试了select() @model IEnumerable @{ ViewBag.Title=“POIndex”;

菜鸟问题。所以我有一个IEnumerable模型,正如你们所看到的,我的问题很简单。我只想得到模型中第一项的值,而不需要遍历整个模型

因为这只是一个例子。我不想仅仅为了从模型中获取1个实体而从模型中删除,我也不想依赖ViewBag或ViewData来实现这一点

这可能吗

Client=Model.FirstOrDefault().ClientID

对象引用未设置为对象的实例

我还尝试了
select()

@model IEnumerable
@{
ViewBag.Title=“POIndex”;
}
采购订单指数
@ActionLink(“添加PO”、“创建”、“POCorns”、新的{ClientID=Model.FirstOrDefault().ClientID},null)

要减少意外错误,请在您的视图中执行以下操作:

@{
    var clientId = 0;
    if (Model.Any())
    {
        clientId = Model.First().ClientId;
    }
 }
 @Html.ActionLink("Add PO", "Create", "POCorns", new {ClientID = clientID },null)

您已经告诉我们您尝试使用了
FirstOrDefault()
,但是您没有告诉我们发生了什么。FirstOrDefault()将在第一个元素之后停止,因此您没有遍历整个过程。如果没有数据,您将得到空引用异常。使用
Model.First().ClientID
更安全,如果没有数据,它仍然会抛出,但它是为捕获而构建的。Model为空或Model为空。谢谢Claudio,我只是想确认一下语法是否正确。因此,我在控制器中添加了一些代码,以便在上下文没有结果时将对象添加到列表中。我在控制器中添加了一个空白对象。我现在将尝试此操作。谢谢,我将在创建控制器:D中控制ClientID 0
@{
    var clientId = 0;
    if (Model.Any())
    {
        clientId = Model.First().ClientId;
    }
 }
 @Html.ActionLink("Add PO", "Create", "POCorns", new {ClientID = clientID },null)