组合框的默认值未在局部视图中分配

Default value to combo box not assigning in partial view

在我的 Web 应用程序中,有一个组合框指向列表中的 select 名员工。

当我从组合框中选择它并提交表单时,selected 值 ID 将进入数据库并保存。

但是当我为视图检索相同的数据时,在控制器中我可以看到数据库中的相同数据检索并传递给部分视图。

但那里的组合框值始终是第一个值。不在组合框中显示保存的值。

这是代码,我正在将员工列表加载到 session,在这里我正在将数据从会话加载到组合框。正如您在图片中看到的那样 item.Req_For 包含 35 的值,但视图显示组合框列表的第一个值。

<div class="row">
   <div class="col-md-6 col-sm-6">
      <div class="form-group">
         <label>Vehicle Owner</label>
         <div class="col-md-8">
            @Html.DropDownListFor(model => item.Req_For, Employees ,new { @class = "js-dropdown", @disabled = "disabled" })
            @Html.ValidationMessageFor(model => item.Req_For, "", new { @class = "text-danger" })
         </div>
      </div>
   </div>
</div>

要在 DropDownList 中定义默认选择,需要将 Selected 属性 设置为 true:

@Html.DropDownListFor(m => Employees.GetEnumerator().Current,
        Employees.Select(d =>
        {
            return new SelectListItem() { Text = d.EmployeName, Value = d.EmployeId, Selected= (d.EmployeId == item.Req_For) };
        }),
        null, new { @class = "js-dropdown", @disabled = "disabled" })