2016-08-12 55 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