我创建了一个包含2个属性的模型,一个可选模板的分页列表和一个可选版本的分页列表。
我们的想法是,该视图将允许您选择多个版本和模板,以便在发布表单时,它将为所选模板和版本的每种可能组合创建新实例。
我遇到的问题是处理来自nuget的分页列表。我读到用普通的actionlink发布是不可能的,所以我尝试了一个带有pagedlist的Ajax.Beginform接下来是一个设置了http的httpmethod的ajax.actionlink。
不幸的是,当它到达为此模型指定的modelbinder时,controllercontext在表单的键中没有任何内容。
复选框在ajax beginform部分中显示如下:
<table>
<tr>
<th>
</th>
<th>
<a href="/AppliedTemplates/Create">Product</a>
</th>
<th>
<a href="/AppliedTemplates/Create">Version</a>
</th>
</tr>
<tr>
<td>
<input type="checkbox" name="[0].ProductVersion_ID" id="ProductVersion_ID_1" value="1"/>
</td>
<td>
Availability Standard Edition for Windows
</td>
<td>
5.2
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="[1].ProductVersion_ID" id="ProductVersion_ID_2" value="2"/>
</td>
<td>
Availability Standard Edition for Windows
</td>
<td>
5.3
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="[2].ProductVersion_ID" id="ProductVersion_ID_3" value="3"/>
</td>
<td>
Availability Standard Edition for Windows
</td>
<td>
6.0
</td>
</tr>
</table>
我是否在错误的地方找到模型绑定器中的反序列化数据,或者我在使用html做错了什么?
非常感谢!
答案 0 :(得分:0)
我使用的表单完全错误。表格中的表格是否定的。我只创建了一个表单并使用IModelBinder实现操作返回以包含我需要的所有数据。