我正在用MVC构建动态表格。所有(约50个)问题和提供的答案都存储在数据库中。 我使用for循环用问题动态填充视图,这对于@HtmlEditorFor效果很好,但不适用于需要使用复选框的地方。由于形式是动态的,因此答案属性始终是字符串。我想将0或1作为答案存储在checkbox-questions数据库中。 对于@HtmlCheckBoxFor,我收到一条错误消息:
“模板只能与字段访问,属性访问,一维数组索引或单参数自定义索引器表达式一起使用。”
模板只能与字段访问,属性访问,一维数组索引或单参数自定义索引器表达式一起使用。
@for (int i = startValue; i < maxValue; i++) {
<tr>
<td>@Html.DisplayFor(r => r.Questions[i].QuestionText)</td>
<td>@Html.CheckBoxFor(r => r.Questions[i].Answer == "1")</td>
</tr>
startValue++;
}
答案 0 :(得分:0)
要解决此问题,请尝试减少QuestionText的长度 :
@for (int i = startValue; i < maxValue; i++) {
<tr>
<td>@Html.DisplayFor(r => r.Questions[i].QuestionText.Substring(0,100) )</td>
<td>@Html.CheckBoxFor(r => r.Questions[i].Answer == "1")</td>
</tr>
startValue++;
}
或者您可以使用以下解决方案解决您的问题:
@for (int i = startValue; i < maxValue; i++) {
<tr>
<td> @Questions[i].QuestionText </td>
<td>@Html.CheckBoxFor(r => r.Questions[i].Answer == "1")</td>
</tr>
startValue++;
}
我希望此解决方案可以为您提供帮助