C# 如何显示记录列表中的单个记录
这是我的模型课。是,我的模型类具有集合属性C# 如何显示记录列表中的单个记录,c#,razor,foreach,asp.net-mvc-5,model,C#,Razor,Foreach,Asp.net Mvc 5,Model,这是我的模型课。是,我的模型类具有集合属性 我只想在用户登录时迭代循环一次,并且只显示该loggedin用户的 大宗报价 Index()操作通常用于显示集合。您有一个指向Details()操作的链接,通常在该操作中显示一条记录。因此,您应该有一个详细的操作: public ActionResult Details(int bookingId) { var booking = db.Bookings .Include(u => u.UserAccount)
public ActionResult Details(int bookingId)
{
var booking = db.Bookings
.Include(u => u.UserAccount)
.Include(t => t.Taxi)
.Include(s => s.BookingStatus)
.Single(b => b.BookingId = bookingId);
return View(booking);
}
然后,您将创建类似以下内容的详细信息视图:
@model Booking
@{
ViewBag.Title = "Booking Details";
}
<h2>Booking Details</h2>
<div>
<dt>Status</dt>
<dd>
@Html.DisplayFor(model=> model.BookingStatus.Status)
</dd>
<dt>Taxi Name</dt>
<dd>
@Html.DisplayFor(model=> model.Taxi.TaxiName)
</dd>
[repeat for other fields]
</dl>
</div>
}
@模型预订
@{
ViewBag.Title=“预订详情”;
}
预订详情
地位
@DisplayFor(model=>model.BookingStatus.Status)
出租车名称
@DisplayFor(model=>model.Taxi.TaxiName)
[对其他字段重复此操作]
}
您应该重新构造问题以显示数据源。。。我闻到downvoteOK,我假设用户有多个预订记录,因此您需要foreach
而不是显示单个记录的详细信息操作。我还假设您可以通过会话、标识等访问登录的用户,因此只需添加where子句:var bookings=db.bookings.Include(u=>u.UserAccount).Include(t=>t.Taxi).Include(s=>s.BookingStatus).where(u=>u.UserId==selectedUserId)
@SteveGreene先生,它现在仍然不起作用,这给了我一个异常“Include path表达式必须引用在类型上定义的导航属性。使用虚线路径引用导航属性,使用Select运算符引用集合导航属性”,这意味着其中一个项是集合,您需要选择。在问题中展示你的模型。而且,你的观点似乎没有道理。您希望显示单个记录还是多个记录的表?您的if
语句检查集合的第一条记录,然后继续迭代整个集合。@SteveGreene是的,我的模型类具有集合属性,我只想显示列表中loggedin user的记录
public ActionResult Index()
{
var bookings = db.Bookings.Include(u => u.UserAccount).Include(t =>
t.Taxi).Include(s => s.BookingStatus);
return View(db.Bookings.ToList());
public ActionResult Details(int bookingId)
{
var booking = db.Bookings
.Include(u => u.UserAccount)
.Include(t => t.Taxi)
.Include(s => s.BookingStatus)
.Single(b => b.BookingId = bookingId);
return View(booking);
}
@model Booking
@{
ViewBag.Title = "Booking Details";
}
<h2>Booking Details</h2>
<div>
<dt>Status</dt>
<dd>
@Html.DisplayFor(model=> model.BookingStatus.Status)
</dd>
<dt>Taxi Name</dt>
<dd>
@Html.DisplayFor(model=> model.Taxi.TaxiName)
</dd>
[repeat for other fields]
</dl>
</div>
}