【发布时间】:2013-02-24 20:24:10
【问题描述】:
型号
@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>
}
【问题讨论】:
-
奇怪的是你没有使用下拉列表。我会推荐它,但因为你不是,所以错误很奇怪。
-
问题是@Html.DropDownListFor(item => item.QuestionId ...),无法识别QuestionId,编译器错误。
-
如果您使用的是下拉列表,我们可以解决这个问题。我很难过,因为我看到你使用下拉列表 - 没有 FOR
-
更新了 DropDownListFor 代码。它不编译。
-
好的,下拉列表需要一个模型变量来绑定一个 lambda。你知道那是什么意思吗?
标签: c# asp.net asp.net-mvc asp.net-mvc-3 razor