如何阻止select tag helper自动添加'multiple'属性

时间:2017-08-01 02:10:14

标签: c# .net-core

我在.Net Core VS2017

工作

并尝试使用模型中的数据填充我的下拉列表。为此,我将选择列表声明为

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

正在正确加载数据,但它会自动添加多个属性。如何阻止这一点因为我需要在下拉列表中显示它

1 个答案:

答案 0 :(得分:5)

因此,如果asp-for属性中指定的属性是IEnumerable,则选择标记帮助器将自动生成多选。

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

所以我更改了代码并将ViewBag中的数据存储为SelectList,方法是将控制器中的代码更改为

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" })