ASP.NET获取详细信息的数据错误
本文关键字:数据 错误 详细信息 NET 获取 ASP | 更新日期: 2023-09-27 18:13:02
我有这个错误
传入字典的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery ' 1[test . models . model]。’,但是这个字典需要一个类型为‘test . models .Suppliers’的模型项。
我的控制器
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var results = from c in db.Suppliers
where (c.ID == id)
select c;
/*Suppliers suppliers = db.Suppliers.Find(id);*/
if (results == null)
{
return HttpNotFound();
}
return View(results);
}
视图
@model Teste.Models.Suppliers
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<div>
<h4>Suppliers</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.ID_Guard)
</dt>
<dd>
@Html.DisplayFor(model => model.ID_Guard)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Supplier)
</dt>
<dd>
@Html.DisplayFor(model => model.Supplier)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Description)
</dt>
<dd>
@Html.DisplayFor(model => model.Description)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Enter)
</dt>
<dd>
@Html.DisplayFor(model => model.Enter)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Exit)
</dt>
<dd>
@Html.DisplayFor(model => model.Exit)
</dd>
</dl>
</div>
<p>
@Html.ActionLink("Edit", "Edit", new { id = Model.ID }) |
@Html.ActionLink("Back to List", "Index")
</p>
我该如何解决这个问题?
解决我做了一个新项目,工作得很好;)谢谢大家
需要返回实际的Supplier
。您正在返回linq查询
所以改变
if (results == null)
{
return HttpNotFound();
}
return View(results);
Supplier supplier = results.FirstOrDefault();
if (supplier == null)
{
return HttpNotFound();
}
return View(supplier);
调用FirstOrDefault()
将运行您的查询并返回第一个匹配项或null。