ASP.NET core MVC 如何使用下拉列表

问题描述 投票:0回答:3

我正在尝试使用 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

c# asp.net asp.net-mvc drop-down-menu razor-pages
3个回答
0
投票

我希望这能回答您的问题。

<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>

0
投票

应该是

asp-items
但不是
asp-item

<select asp-for="EmployeeId" class="form-control" asp-items="ViewBag.employees">
  <option selected >---Select Employee---</option>
</select>

0
投票

你可以使用foreach()

` 选择员工

        <select class="form-control">
            @foreach (string item in ViewBag.employees)
            {
                <option value="@item">@item</option>
            }
        </select>

`

希望有用

© www.soinside.com 2019 - 2024. All rights reserved.