c# - 编辑下拉列表不显示模型的值
问题描述
我想编辑一名员工,但在编辑视图中,下拉列表不显示基于模型
控制器的选定项目:
public ActionResult Edit(int? id)
{
Employee employee = db.tblEmploye.Find(id);
return View(employee);
}
编辑.cshtml
<div class="form-group">
@Html.LabelFor(model => model.Gender, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(Model => Model.Gender, new List<SelectListItem>
{
new SelectListItem{Text = "Male", Value = "Male"},
new SelectListItem{Text = "Female", Value = "Female"}
}, "Select Gender", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Gender, "", new { @class = "text-danger" })
</div>
</div>
解决方案
对于要选择的选项,您必须将Selected设置为 true。
@Html.DropDownListFor(Model => Model.Gender, new List<SelectListItem>
{
new SelectListItem{Text = "Male", Value = "Male", Selected = Model.Gender == "Male" },
new SelectListItem{Text = "Female", Value = "Female", Selected = Model.Gender == "Female" }
}, "Select Gender", new { @class = "form-control" })
SelectList还提供了一些构造函数来自动执行此操作。
@Html.DropDownListFor(
model => model.Gender,
new SelectList(new [] { "Male", "Female" }, Model.Gender),
"Select Gender",
new { @class = "form-control" })
推荐阅读
- mysql - 我的spring Boot项目有一个h2数据库,现在想把hd数据库改成mysql数据库,怎么办?
- html - CSS OnHover - 改变另一个元素的属性以及它本身
- apache-kafka - 如果 num.standby.replicas = 4,GlobalKTable 是否等同于 KTable?
- javascript - 如何在 JS JSON 中使用名称中的连字符访问属性
- python-2.7 - TypeError:只有长度为1的数组可以转换为Python标量,python2.7
- javascript - 相对于当前屏幕位置的 CSS 动画
- ios - 如何检查是否启用了特定类型的本地通知?
- java - 无法将android连接到firebase
- android - 类型错误:u.slice 不是函数。当我尝试在 android 模拟器上运行一个简单的 React Native 应用程序时,在 index.android.bundle 中
- javascript - 如何在反应中使用网格扩展或适应 div 数组