我工作于.Net Core VS2017
并尝试用模型中的数据填充我的下拉列表。为此,我将我的选择列表声明为
<select class="form-control" asp-for="TicketTypes" asp-items="@(new SelectList(Model.TicketTypes,"Id","Name"))"></select>
它正确加载数据,但会自动向其中添加多个属性。如何阻止这个,因为我需要在下拉列表中显示这个
因此,如果 asp-for 属性中指定的属性是 IEnumerable,则选择标记帮助程序将自动生成多选。
public IEnumerable<Models.TicketTypeList> TicketTypes { get; set; }
所以我改变了代码并将数据存储在ViewBag
as 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" })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)