【发布时间】:2016-04-14 08:42:09
【问题描述】:
我想知道是否有人可以帮助我对 MVC 非常陌生,在观看了一些有关 MVA 的视频后,我正在尝试基于现有模型创建自己的新视图和控制器。我似乎无法在视图上显示搜索结果。 (我会在稍后调整 linq 查询)
所以我的模型是:
[Key]
public int BookingID { get; set; }
public int RoomID { get; set; }
public DateTime Arrival_Date { get; set; }
public DateTime Departure_Date { get; set; }
我在控制器中添加了一个新的动作结果:
public ActionResult Availability(DateTime? StartDate)
{
ViewBag.StartDate = DateTime.Now.AddDays(2);
var GetBookings = from m in db.Bookings
where m.Arrival_Date.Date <= (StartDate)
select m;
if (!StartDate.HasValue)
{
GetBookings = db.Bookings.Where(x => x.Arrival_Date <= StartDate);
}
return View(GetBookings);
}
最后添加了一个名为 Availability 的视图,指向带有输入的模型:
@model IEnumerable<SuiteUI.Models.Booking>
@using (Html.BeginForm()) {
<input type="datetime" value="@(ViewBag.StartDate)" />
<input type="submit" value="Filter" class="btn btn-default" />
</p>
}
<p>
@Html.ActionLink("Create New", "Create")
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.RoomID)
</th>
<th>
@Html.DisplayNameFor(model => model.Arrival_Date)
</th>
<th>
@Html.DisplayNameFor(model => model.Departure_Date)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoomID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Arrival_Date)
</td>
<td>
@Html.DisplayFor(modelItem => item.Departure_Date)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.BookingID }) |
@Html.ActionLink("Details", "Details", new { id=item.BookingID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.BookingID })
</td>
</tr>
}
希望到目前为止这还不算太糟糕,我想我缺少一个 POST 操作来处理显示结果,但这是我卡住的地方,任何想法或建议都将不胜感激!
【问题讨论】:
标签: model-view-controller viewmodel