2017-08-01 48 views
1

我在.Net Core VS2017如何從自動添加「多」屬性

工作,並試圖填充我從模型數據下拉菜單中選擇停止標籤幫手。爲此我宣佈我的選擇列表爲

<select class="form-control" asp-for="TicketTypes" asp-items="@(new SelectList(Model.TicketTypes,"Id","Name"))"></select> 

它正在正確加載數據,但它會自動向其中添加多個屬性。如何停止,因爲我需要在下拉菜單中顯示

回答

1

因此,事實證明,如果在asp-for屬性中指定的屬性是IEnumerable,則選擇標記助手將自動生成多選。

public IEnumerable<Models.TicketTypeList> TicketTypes { get; set; } 

因此,我改變的代碼和所存儲的數據在ViewBagSelectList通過改變控制器的代碼

var ticketTypes = _context 
       .TicketType 
       .Where(w => w.Deleted == false) 
       .Select(s => new { 
                id = s.Id, 
                Name = s.Name 
        }).OrderBy(o=>o.Name).ToList(); 

ViewBag.ticketTypeList = new SelectList(ticketTypes, "id", "Name"); 

然後在視圖改變了代碼到

@Html.DropDownList("TicketTypes",ViewBag.ticketTypeList as SelectList, new { @class = "form-control" })