将Select转换为DropDownListFor MVC 5

时间:2017-02-17 17:11:58

标签: asp.net-mvc razor razor-declarative-helpers

我有这个选择,我需要将它转换为DropDownlistFor调用。

任何人都可以提供帮助:

<select class="form-control" name="QuestionBasicSection.Questions[@counter].ANSWER_LOOKUP_OPTION_ID" id="@selectId">
    @foreach (var x in questionBasicSection.Questions[j].LookupGroup)
    {
        <option value="@x.Value" selected="@x.Selected">@x.Text</option>
    }
</select>

这是一个骨架,我只是不确定如何设置SelectList和选择值

@Html.DropDownListFor(q => questionBasicSection.Questions[@counter].ANSWER_LOOKUP_OPTION_ID, 
             new SelectList(
                  new List<Object>{ 
                       new { value = 0 , text = "Red"  },
                       new { value = 1 , text = "Blue" },
                       new { value = 2 , text = "Green"}
                    },
                  "value",
                  "text",
                   // Not sure how to set selected 
           )

1 个答案:

答案 0 :(得分:0)

DropDownListFor的工作原理是将source / destination属性作为第一个参数,将options数组作为第二个参数。在您的示例中:

questionBasicSection.Questions[@counter].ANSWER_LOOKUP_OPTION_ID

模型上的该属性应包含您希望将DropDownList设置为的初始值。例如,如果您希望DropDownList显示&#39; Blue&#39;在页面加载时,在控制器中(或创建模型的任何位置)将ANSWER_LOOKUP_OPTION_ID的值设置为2。