我正在尝试使用 Viewbag 在我的剃刀视图中创建下拉列表,但它不起作用,我想我错过了一些东西
public IEnumerable<SelectListItem> GetAllEmployeeForPayroll()
{
return GetAll().Select(emp => new SelectListItem()
{
Text = emp.FullName,
Value = emp.Id.ToString()
});
}
ViewBag.employees = _employeeService.GetAllEmployeeForPayroll();
<label asp-for ="EmployeeId"></label>
<select asp-for="EmployeeId" class="form-control" asp-item="ViewBag.employees">
<option selected >---Select Employee---</option>
</select>
<span asp-validation-for ="EmployeeId" class="text-danger"> </span>
这是我的代码,我确定我在剃刀视图中做错了什么,但不知道是什么。
enter code here
我希望这能回答您的问题。
<div class="row">
<div class="col-md-4">
<select id="drpEmpList" class="form-control" asp-for="EmployeeId" asp-items="@ViewBag.employees">
<option value="">--Select--</option>
</select>
<input type="hidden" asp-for="EmployeeId" />
</div>
asp-items
但不是 asp-item
。
<select asp-for="EmployeeId" class="form-control" asp-items="ViewBag.employees">
<option selected >---Select Employee---</option>
</select>
你可以使用foreach()
` 选择员工
<select class="form-control">
@foreach (string item in ViewBag.employees)
{
<option value="@item">@item</option>
}
</select>
`
希望有用