繁体   English   中英

使用 .NET Core Razor 页面(非 MVC)中视图模型的选择标记助手创建下拉列表

[英]Create dropdownlist using select tag helper of a view model in .NET Core Razor Pages (Not MVC)

说我有这个模型:电影

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 Page(不是 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 Pages 中,我现在有这个。

  <select asp-for="?" asp-items="@((List<SelectListItem>)ViewData["MovieId"])">
                <option value="">Pick one</option>
  </select>

顺便说一下,我可以轻松地在 .NET Framework 中创建/搭建视图模型的视图,但在 .NET Core Razor Pages 中,我似乎找不到用于搭建视图模型的 Razor Pages 的选项。

找到了这个语法的解决方案

<select asp-for="MovieId" asp-items="ViewBag.MovieId">
    <option value="">Pick one</option>
</select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM