【问题标题】:Create dropdownlist using select tag helper of a view model in .NET Core Razor Pages (Not MVC)在 .NET Core Razor 页面(非 MVC)中使用视图模型的选择标签助手创建下拉列表
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      相关资源
      最近更新 更多