如何设置默认值的dropdownlist状态

时间:2014-04-18 05:34:24

标签: asp.net-mvc-4 razor

如何通过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;

寻找解决方案已经有一段时间了,没有一个符合确切的要求。

2 个答案:

答案 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" })