【发布时间】:2020-04-06 06:26:17
【问题描述】:
我已经做了一个查询视图模型
public class QueryVM
{
public List<CarVM> CarVMs { get; set; }
这包含
public class CarVM
{
public int CarID { get; set; }
public int CustomerID { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public string RegNumber { get; set; }
public string Colour { get; set; }
public DateTime StartDate { get; set; } //From Booking Table
public DateTime EndDate { get; set; } //From Booking Table
这是我的控制器
public ActionResult Searched(DateTime? Start, DateTime? End)
{
if (Start.HasValue)
{
ViewBag.Start = Start.Value.Date;
}
if (End.HasValue)
{
ViewBag.End = End.Value.Date;
}
QueryVM queryVM = new QueryVM();
var carList = db.Cars;
var bookingList = db.Bookings;
queryVM.CarVMs = new List<CarVM>();
foreach (var item in carList)
{
CarVM cvm = new CarVM();
cvm.CarID = item.CarID;
cvm.Make = item.Make;
cvm.Model = item.Model;
cvm.Colour = item.Colour;
queryVM.CarVMs.Add(cvm);
}
foreach (var item in bookingList)
{
CarVM bvm = new CarVM();
bvm.StartDate = item.StartDate;
bvm.EndDate = item.EndDate;
queryVM.CarVMs.Add(bvm);
}
return View(queryVM);
首先我检查值是否有数据,然后将它们存储在视图包中,然后使用来自 db.Cars 的信息填充查询视图模型,然后从预订表中填充 start date 和 end date 并返回视图模型
这是我在视图中的代码
@{
if (Model != null && ViewBag.Start != null && ViewBag.End != null)
{
foreach (var item in Model.CarVMs.Where(r => ViewBag.Start < r.EndDate && ViewBag.End > r.StartDate))
{
<td>
@Html.DisplayFor(modelItem => item.CarID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Make)
</td>
在这里,我想查看查看包中日期之间可用的汽车,r.EndDate 和 r.StartDate 是表中的当前预订日期。我认为我遇到的问题是我从db.booking 获取预订日期,从db.Cars 获取汽车信息但是当我运行它时我得到null 或0 但我得到了预订日期
【问题讨论】:
标签: c# asp.net asp.net-mvc model-view-controller