非顺序数组的模型绑定

时间:2010-06-16 09:51:50

标签: asp.net-mvc

我有一张表,我在其中动态创建和删除行。如何更改代码,以便添加和删除行,并相应地填充模型信息属性。

请记住可以动态创建和删除行,我可能有Info [0],Inf0 [3],info [4] ......我的目标是能够绑定数组,即使它是`不按顺序。

模型

public class Person
    {
        public int[] Size { get; set; }
        public string[] Name { get; set; }
        public Info[]info { get; set; }
    }

    public class Info
    {
        public string Address { get; set; }
        public string Tel { get; set; }

查看

    <script type="text/javascript" language="javascript">
        $(function () {

            var count = 1;

            $('#AddSize').live('click', function () {
                $("#divSize").append('</br><input type="text" id="Size" name="Size" value=""/><input type = "button" id="AddSize" value="Add"/>');

            });

            $('#AddName').live('click', function () {
                $("#divName").append('</br><input type="text" id="Name" name="Name" value=""/><input type = "button"  id="AddName" value="Add"/>');

            });

            $('#AddRow').live('click', function () {
                $('#details').append('<tr><td>Address</td><td> <input type="text"  name="Info[' + count + '].Address"/></td><td>Tel</td><td><input type="text"  name="Info[' + count++ + '].Tel"/></td> <td><input type="button" id="AddRow" value="Add"/> </td></tr>');
            });




        });        
       </script>
</head>

<body>
  <form id="closeForm" action="<%=Url.Action("Create",new{Action="Create"}) %>" method="post" enctype="multipart/form-data">
    <div id="divSize">
    <input type="text" name="Size"  value=""/> <input type="button" value="Add" id="AddSize" />
    </div>


    <div id="divName">
    <input type="text" name="Name"  value=""/> <input type="button" value="Add" id="AddName" />
    </div>


    <div id="Tab">
    <table id="details">
       <tr><td>Address</td><td> <input type="text"  name="Info[0].Address"/></td><td>Tel</td><td><input type="text"  name="Info[0].Tel"/></td> <td><input type="button" id="AddRow" value="Add"/> </td></tr>
    </table>

    </div>

    <input type="submit" value="Submit" />
    </form>


</body>
 }

控制器

public ActionResult Create(Person person)
        {
            return new EmptyResult();
        }

1 个答案:

答案 0 :(得分:0)

以下是nice blog post,您可能会觉得有帮助。