【发布时间】:2015-05-14 11:48:05
【问题描述】:
样板间:
public class Room
{
public int Id { get; set; }
public string NumberRoom { get; set; }
public double CostPerNight { get; set; }
public virtual Category Category { get; set; }
}
我的视图模型代码
public class RoomModel
{
public IList<Room> Rooms { get; set; }
}
我的剃刀代码:
@model hotel.Models.RoomModel
@using (Html.BeginForm("ComfortLevelView", "Category"))
{
for (int i = 0; i < Model.Rooms.Count(); i++)
{
<table class="simple-little-table" cellspacing='0'>
<tr>
<td>@Html.DisplayFor(m => Model.Rooms[i].NumberRoom) </td>
<td>@Html.DisplayFor(m => Model.Rooms[i].Categoryid)</td>
<td>@Html.DisplayFor(m => Model.Rooms[i].NumberOfSeats) </td>
<td>
@{ var result = Model.Rooms[i].CostPerNight * numberNights; }
<p>@ViewBag.NumberNights ночей</p>:@result
</td>
<td>
<input type="submit" id="submit" value="Booking" />
</td>
</tr>
</table>
</div>
}
}
控制器:
public ActionResult ComfortLevelView(int NumberNights, int CategoryId, int NumberPeoples ,DateTime SelectedDate)
{
IRoomService roomService = new RoomService();;
return View(roomService.GetRoomsByCategory(CategoryId, SelectedDate, NumberNights, NumberPeoples));
}
[HttpPost]
public ActionResult ComfortLevelView(RoomModel model)
{
//
}
传入字典的模型项的类型为“System.Data.Entity.Infrastructure.DbQuery`1[Hotel.BusinessObject.Room]”,但此字典需要“hotel.Models.RoomModel”类型的模型项.
【问题讨论】:
-
您尚未解决上一个问题中的多个错误中的任何一个!您的查询会生成
Room对象的集合,而不是RoomModel对象! -
这也不是 for-each 循环,它只是一个 for 循环
-
上一题帮了很多忙,没意义!
标签: asp.net-mvc razor