组合框的默认值未在局部视图中分配
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" })
在我的 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" })