1
我有一個複選框/單選按鈕列表&矩陣動態形式:asp.net mvc的複選框/單選矩陣模型結合
下面的代碼呈現複選框列表:
@foreach (var sq in Model.SubQuestions)
{
<label>
<input type="hidden" name="answerResult.index" value="@sq.Id" />
<input type="checkbox" name="answerResult[@sq.Id].SubQuestionId" value="@sq.Id" />
@sq.Label.Name
</label>
}
單選按鈕列表:
<input type="hidden" name="answerResult.index" value="@Model.Id" />
@foreach (var sq in Model.SubQuestions)
{
<label>
<input type="radio" name="answerResult[@Model.Id].SubQuestionId" value="@sq.Id" />
@sq.Label.Name
</label>
}
我的POS T-行動控制器:
[HttpPost]
public ActionResult PassageSurvey(int surveyId, int surveyPageIndex, IList<AnswerResult> answerResult)
其中IList<AnswerResult>
是從我的形式自動綁定集合。我只收到檢查/選擇的項目。一切進行得都很順利。
現在我需要從複選框/單選按鈕矩陣中獲取相同的集合。
無線電按鈕矩陣:
<table width="100%">
<tr>
<th></th>
@foreach (var av in Model.AnswerVariants)
{
<th style="text-align: center;">
<label>@av.Label.Name</label>
</th>
}
</tr>
@foreach (var sq in Model.SubQuestions)
{
<tr>
<td>
<label>@sq.Label.Name</label>
<input type="hidden" name="answerResult.index" value="@sq.Id" />
<input type="hidden" name="answerResult[@sq.Id].SubQuestionId" value="@sq.Id" />
</td>
@foreach (var av in Model.AnswerVariants)
{
<td align="center">
<input type="radio" name="answerResult[@sq.Id].AnswerVariantId" value="@av.Id" />
</td>
}
</tr>
}
</table>
複選框矩陣:在控制器
<table width="100%">
<tr>
<th></th>
@foreach (var av in Model.AnswerVariants)
{
<th style="text-align: center;">
<label>@av.Label.Name</label>
</th>
}
</tr>
@foreach (var sq in Model.SubQuestions)
{
<tr>
<td>
<label>@sq.Label.Name</label>
</td>
@foreach (var av in Model.AnswerVariants)
{
<td align="center">
<input type="hidden" name="answerResult.index" value="@sq.Id" />
<input type="hidden" name="answerResult[@sq.Id].AnswerVariantId" value="@sq.Id" />
<input type="checkbox" name="answerResult[@sq.Id].SubQuestionId" value="@sq.Id" />
</td>
}
</tr>
}
</table>
POST-動作總是相同的。 現在使用無線按鈕矩陣(在當前樣本3x3中)IList<AnswerResult>
總是獲取3個項目,具體取決於在行和列中選擇的項目。 但從複選框矩陣(3×3)IList<AnswerResult>
總是得到所有9個項目(不管項目進行了檢查,隱藏的投入總是有值)
但我想的唯一項目,已檢查。如何更改我的複選框矩陣模板來解決此問題?