在一个视图页面上同时创建/插入多个实体

时间:2011-06-22 08:56:27

标签: asp.net-mvc asp.net-mvc-3

1 个答案:

答案 0 :(得分:2)

使用Razor作为您的视图引擎不会使过程更简单,更具可读性。即使使用ASP.NET MVC 3,您也必须完全遵循您提到的Editing a variable length list帖子。

当然,您可以在jQuery中动态完全添加一行新字段,而无需为其创建操作方法。类似的东西:

<div id="fields">
    <span class="row">
        <input type="text" />
        <input type="text" />
    </span>
</div>

<a id="add" href="#">Add another</a>

<script type="text/javascript">

    $(document).ready(function() {
        $("#add").click(function() {
            AddTextBox();
        });
    });

    function AddTextBox() {
        // clone the last span
        var newRow = $("#fields .row:last").clone();
        //clear any value the fields might have
        $("input", newRow).val("");
        //append it to the container div
        $("#fields").append(newRow);
    }
</script>

然而,博客文章中的解决方案在局部视图中封装了一行新的字段,相当干净。