如何通过edmx(不是手动创建)使用自动生成的模型,将dropdownlist
的默认值状态设置为编辑视图中存储在数据库中的状态。
这是我的代码:
查看:
@Html.DropDownListFor(model => model.site_id, new SelectList(ViewBag.site_id, "id", "name"), "Select Any", new {@class="form-control",required="required",autofocus="autofocus" })
控制器:
ViewBag.site_id = dbContext.axi_sites;
寻找解决方案已经有一段时间了,没有一个符合确切的要求。
答案 0 :(得分:1)
C#代码:
public class MyClass {
public int Id { get; set; }
public string Name { get; set; }
}
var list = new[] {
new MyClass { Id = 1, Name = "Name1" },
new MyClass { Id = 2, Name = "Name2" },
new MyClass { Id = 3, Name = "Name3" }
};
var selectList = new SelectList(list, "Id", "Name", 2);
ViewBag.DDL = selectList;
在视图中
@Html.DropDownListFor(model => model.site_id,
ViewBag.DDL as SelectList,
"Select Any",
new {@class="form-control",required="required",autofocus="autofocus" })
Html输出:
<select id="site_id" name="site_id" required="required" class="form-control">
<option value="1">Name1</option>
<option selected="selected" value="2">Name2</option>
<option value="3">Name3</option>
</select>
答案 1 :(得分:1)
我们为什么要打扰。我们也可以使用jquery。
在代码中添加jquery 1.10.3。 以及您希望下拉列表中所选值的页面中的代码
写入视图部分
<script type="text/JavaScript">
$(document).ready(function () {
$('#site').val(@Model.site_id);
});
</script>
@Html.DropDownListFor(model => model.site_id, new SelectList(ViewBag.site_id, "id", "name"), "Select Any", new {@class="form-control",required="required",autofocus="autofocus",id="site" })