使用List <selectlistitem>

时间:2016-12-13 08:24:04

标签: javascript jquery twitter-bootstrap asp.net-mvc-4 bootstrap-multiselect

我在MVC4 Razor视图中使用twitter bootstrap-multiselect下拉列表

 @Html.DropDownListFor(m => m.States, Model.States, new { @class = "form-control", id = "ddlState", placeholder = "Select State" })

我将它用作单个选择下拉列表,即没有多个&#39;属性

$('#ddlState').multiselect({
            enableFiltering: true,
            nonSelectedText: 'Select State',
            enableCaseInsensitiveFiltering: true,
            maxHeight: 200
  });

我使用SelectListItem填充上面的下拉列表 通过以下方式。

public List<SelectListItem> BindStates()
        {
            DataSet ds = new DataSet();
            ds = (DataSet)Session["SDMVTMasterDropDownData"];
            List<SelectListItem> states = new List<SelectListItem>();
            states = (from DataRow dr in ds.Tables[0].Rows
                      select new SelectListItem()
                   {
                       Text = (dr["StateName"]).ToString(),
                       Value = dr["StateId"].ToString(),
                       Selected = (bool)dr["SelectedStatus"],
                   }).ToList();
            return states;
        }

这是我上面列表的数据集

StateId      StateName      SelectedStatus
  1        ANDHRA PRADESH        1
  2        BIHAR                 0
  3        CHANDIGARH            0

但问题是即使我将Selected属性设置为true,下拉列表也不会选择相应的列表项。

而是默认选择列表中的第一项。

在浏览互联网时,我发现使用属性selected='selected'可以用来设置所选的选项。

像这样,

<script type="text/javascript">
    $('#example-single-selected').multiselect();
</script>

<select id="example-single-selected">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3" selected="selected">Option 3</option>
    <option value="4">Option 4</option>
    <option value="5">Option 5</option>
    <option value="6">Option 6</option>
</select>

但这是静态方式,如何在从控制器填充列表时实现这一点?

以下是此bootstrap-multiselect下拉列表http://davidstutz.github.io/bootstrap-multiselect/#configuration-options-multiple的参考文档的链接

0 个答案:

没有答案