如何根据值设置下拉列表的默认选择

时间:2018-04-13 09:00:20

标签: asp.net-mvc razor html.dropdownlistfor

如果我的设置中的值与我的选择列表中的值相同,如何设置默认选择值

一样
         @{
       var pstSelect = (SelectList)ViewData["Printerlist"];
        pstSelect.ForEach(o =>
        {
        if (o.Value== setting.printerName )
        {
        o.Selected = true;
        }
        });
        }
        @Html.DropDownListFor(m => setting.printerName , pstSelect)

我得到了

  

CS1061:' SelectList'不包含' ForEach'的定义并且没有任何扩展方法' ForEach'接受类型' SelectList'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)

所以我该怎么做呢

1 个答案:

答案 0 :(得分:1)

您可以转换/创建与您的下拉列表匹配的对象列表,然后对列表中的对象执行循环,如果对象值与您的setting.printerName匹配,则将其设置为选中

<select >
                                        @foreach (var child in MyData)
                                        {
                                            if (child.Value == setting.printerName)
                                            {
                                                selected = "selected='selected'";
                                            }
                                            else
                                            {
                                                selected = "";
                                            }
                                            <option @selected value="@child.Value">@child.Text</option>
                                        }
                                    </select>