说我发回这张表格:
<form action="/Admin/SaveTestChanges" method="post">
<input name="index" type="hidden" value="S1"/>
<input name="[S1].SID" type="hidden" value="1"/>
<input id="sectionName" name="[S1].SectionName" type="text" value="Nouns"/>
<input type="submit" value="Submit" />
</form>
采用这种方法:
public void SaveTestChanges(TestModel Test, List<SectionModel> TestSections,
List<QuestionModel> TestQuestions, List<ChoiceModel> QuestionChoices)
{
// Some implementation
}
对象SectionModel
具有唯一的属性名称,参数列表中没有其他自定义类型,但是在绑定时它不仅表示TestSections.Count
为1,而且对所有人都说相同传递了没有键/值对的其他集合类型。为什么会这样?
使用非顺序索引时,是否也可以包含参数名称而不仅仅是属性名称?即TestSections[S1].SectionName
或[S1].TestSections.SectionName
?
答案 0 :(得分:0)
看起来当使用任意索引并将它们存储在隐藏输入中时,您仍然需要在输入名称“Index”前面添加操作方法中显示的实际参数名称。
因此,在我的情况下,隐藏的输入名称属性应设置为TestSections.Index
,只有“索引”混淆模型绑定器,结果可能有缺陷。