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



在我们的ASP中。NET核心应用程序,我们希望将_context.TableName.ToList()传递给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()

返回:

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

正如您可能已经注意到的,我假设您的博客实体具有标题和Id属性,您可以对ValueText 使用相同的值