Select 标签助手与数组或列表的绑定

Select Tag Helper binding with an array or list

我的以下控制器操作方法如何将整数列表绑定到我的 ASP.NET 核心项目 without using ModelView 中的 Select Tag Helper?或者,如果没有 ModelView,这将无法完成?

操作方法:

public IActionResult ListofDays()
        {
            IEnumerable<int> DaysList = Enumerable.Range(1, 7).ToList();
            return View(DaysList);
        }

Select 标签:

<select asp-for="???" asp-items="???"></select>

您可以将 int 数组转换为 SelectListItem 列表,它可以用作 asp-items 属性 标签助手的 select 值。

public IActionResult Index()
{
    var daysList =Enumerable.Range(1, 7)
       .Select(g => new SelectListItem {Value = g.ToString(), Text =g.ToString()}).ToList();
    return View(daysList);
}

现在在 SelectListItem

列表的强类型视图中
@model List<SelectListItem>
<form asp-action="Index" asp-controller="Home">
    <select name="MyDay" asp-items="Model"></select>
    <input type="submit"/>
</form>

当您提交表单时,selected 日期将在 MyDay 表单元素中。您可以在 HttpPost 操作方法中使用同名参数来接收它。

供您参考: