【发布时间】:2019-08-17 15:06:17
【问题描述】:
试图获取所选项目的 ID。但我从中得到了空值。
这是我创建房间的视图,可以选择房间类型
<select asp-for="RoomType" asp-items="@(new SelectList(@ViewBag.roomType, "Id", "Type"))" class="form-control">
<option>--Select--</option>
</select>
这是我的模型
public class RoomModel
{
public int Id { get; set; }
public string RoomName { get; set; }
public RoomTypeViewModel RoomType { get; set; }
public float Price { get; set; }
}
public class RoomTypeViewModel
{
public int Id { get; set; }
public string Type { get; set; }
}
控制器
[HttpGet]
public IActionResult CreateRoom()
{
ViewBag.roomType = _context.RoomType.ToList();
return View();
}
【问题讨论】:
-
asp-items需要@吗,不是剃须刀代码
-
实际上我正在尝试将 ViewBag 数据绑定到下拉列表。因为我在这个“视图”@Bosco 中使用了两个模型。
-
什么时候得到空值?
-
我不知道这么奇怪的事情。代码现在正在运行。我只是将模型 RoomTypeViewModel 更改为 int 。然后它起作用了。但是,当我再次将类型从 int 更改为“RoomTypeViewModel”时,它正在工作。
标签: c# .net-core asp.net-core-mvc asp.net-core-tag-helpers