2016-08-12 56 views
0

我的下列控制器Action Method如何在我的ASP.NET Core项目without using ModelView中将整数列表绑定到Select Tag Helper?或者,没有ModelView,这是不能做到的?选择标签帮助器与数组或列表绑定

操作方法

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

选择标记

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

回答

1

您可以将int数组转换成可以用来作为选择你asp-items属性值的SelectListItem列表标签帮手。

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> 

当您提交的形式,选定的日期将在MyDay表单元素。您可以在HttpPost操作方法中使用具有相同名称的参数来接收它。

供您参考: Select Tag Helper in MVC 6

+0

感谢您尝试帮助。视图中的@模型声明是什么?我试过'@model List '但那不行。 – nam

+0

对不起!我错过了那部分。它应该是一个“SelectListItem”的集合/列表,正如我在答案中所述。 – Shyju

+1

它的工作原理。谢谢 - 特别是为了正确解释你的解决方案,并为其他“选择标签助手”场景使用该解决方案时添加对另一个响应的引用。 – nam