MVC3 NuGet PagedList表单数据

时间:2012-09-10 20:46:12

标签: ajax asp.net-mvc-3 forms deserialization modelbinder

我创建了一个包含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做错了什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我使用的表单完全错误。表格中的表格是否定的。我只创建了一个表单并使用IModelBinder实现操作返回以包含我需要的所有数据。