C# 无迭代的MVC IEnumerable模型
菜鸟问题。所以我有一个IEnumerable模型,正如你们所看到的,我的问题很简单。我只想得到模型中第一项的值,而不需要遍历整个模型 因为这只是一个例子。我不想仅仅为了从模型中获取1个实体而从模型中删除,我也不想依赖ViewBag或ViewData来实现这一点 这可能吗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”;
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)