如何将 ToList() 传递给 Select Tag Helper

How to pass ToList() to Select Tag Helper

在我们的 ASP.NET 核心应用程序中,我们希望将 _context.TableName.ToList() 传递给 Select tag helper,如下所示。 Select 标签助手中的 asp-forasp-items 属性值应该是什么:

控制器

public class BlogsController : Controller
    {
        private BloggingContext _context;

        public BlogsController(BloggingContext context)
        {
            _context = context;
        }

        public IActionResult Index()
        {
            return View(_context.Blogs.ToList());
        }
}

查看

<Select asp-for="?????" asp-items="???">

asp-items 需要 SelectListItem 的列表,因此您需要稍微更改模型而不是返回

_context.Blogs.ToList()

Return :

_context.Blogs.Select(x => new SelectListItem { Value = x.Title, Text = x.Id }).ToList()

您可能已经注意到,我假设您的博客实体具有 Title 和 Id 属性,您可以对 ValueText

使用相同的值