【问题标题】:How to set state of dropdownlistfor default value如何为默认值设置下拉列表的状态
【发布时间】:2016-04-27 18:38:27
【问题描述】:

当使用通过 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;

一直在寻找解决方案,但没有一个符合确切要求。

【问题讨论】:

  • 发布代码,让您在其中使用 SelectList
  • 将选中的值填入model.site_id,剩下的会注意

标签: asp.net-mvc-4 razor


【解决方案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" })

【讨论】:

  • 尝试了@shivoham 发布的解决方案,它成功了,谢谢:) 长期以来一直在寻找相同的解决方案。
【解决方案2】:

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>

【讨论】:

    猜你喜欢
    • 2014-10-20
    • 2013-10-23
    • 2016-11-16
    • 2017-06-17
    • 2020-07-06
    • 2013-11-23
    • 1970-01-01
    • 2014-07-28
    • 2014-07-19
    相关资源
    最近更新 更多