【发布时间】:2020-06-13 21:12:36
【问题描述】:
假设我有这个模型:电影
public class Movie
{
public int Id { get; set; }
public string MovieTitle { get; set; }
public DateTime ReleaseDate { get; set; }
}
我有这个视图模型
public class MovieDateHallSeats
{
public ICollection<Movie> Movies { get; set; }
}
我创建了一个 .NET Core Razor 页面(不是 MVC)来填充电影列表。
public class CreateModel : PageModel
{
private readonly Cinema.WebCore.Data.CinemaContext _context;
public CreateModel(Cinema.WebCore.Data.CinemaContext context)
{
_context = context;
}
public IActionResult OnGet()
{
MovieDateHallSeats movieDateHall = new MovieDateHallSeats();
movieDateHall.Movies = _context.Movies.ToList();
ViewData["MovieId"] = new SelectList(movieDateHall.Movies, "Id", "MovieTitle");
return Page();
}
}
到目前为止,我设法完成了此运行,并在此处查看电影数量。但我的问题是,如何使用选择标签助手创建下拉列表?
在我的 Razor 页面中,我现在有这个。
<select asp-for="?" asp-items="@((List<SelectListItem>)ViewData["MovieId"])">
<option value="">Pick one</option>
</select>
顺便说一句,我可以轻松地在 .NET Framework 中创建/搭建视图模型的视图,但在 .NET Core Razor 页面中,我似乎找不到为视图模型搭建 Razor 页面的选项。
【问题讨论】:
标签: c# asp.net-core razor-pages