3

该模型

@model List<Survey.SurveyQuestion>

SurveyQuestion 有两个属性,QuestionId并且QuestionText

Html.DropDownList("Questions", new SelectList(@Model))

@Html.DropDownList("Questions", new SelectList(@Model), "QuestionId", "QuestionText")

上述代码的输出:

上述代码的输出:

无法使用 DropDownListFor,因为它无法识别字段QuestionId(或事实上的任何字段)。

@Html.DropDownListFor(item => item.QuestionId, new SelectList(Model, 
    "QuestionId", "QuestionText"), "--Select --"))

以下代码正确显示所有数据:

@foreach (var item in Model)
{
    <p>@item.QuestionId - @item.QuestionText</p>
}
4

1 回答 1

4

你设置SelectList错了。试试这个(在 SO 上添加了行空间以提高可读性):

@Html.DropDownList(
    "Questions",
     Model.Select(m => new SelectListItem 
         {
             Value = m.QuestionId.ToString(),
             Text = m.QuestionText
         }))
于 2013-02-24T21:32:28.877 回答