3

モデル

@model List<Survey.SurveyQuestion>

SurveyQuestionには2つのプロパティが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 に答える