【问题标题】:View with multiple partial views posting back回发多个部分视图的视图
【发布时间】:2012-04-04 10:05:40
【问题描述】:

我是 MVC (MVC3) 的新手,因此不确定实现这一点的最佳方法。

我想创建一个“主”视图(非强类型)。这个“主”视图将包含多个强类型的局部视图,每个视图都包含一个表单。因此,每个部分视图都将回发到它们自己的 POST 操作,该操作可以执行任何操作。我看到的问题是,当部分视图回发时,它只需要更新部分视图本身,而不影响页面上的其他部分视图。

当我现在从部分视图回发时,它只是单独返回部分视图,而不是整个“主”页面。

如何在 MVC3 中实现此功能? (从高层次的角度)

谢谢

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    您可以通过 AJAX 发布数据。 在我的示例中,我使用 jQuery:

    <div id="first-form" class="form-container">
       @Html.Partial("FirstPartial")
    </div>
    
    <div id="second-form" class="form-container">
       @Html.Partial("SecondPartial")
    </div>
    
    // and here go rest forms
    

    您的部分观点可能如下:

    @model YourModelClass
    @using (Html.BeginForm())
    {
        // some fields go there
    }
    <input type="button" value="Save Form Data" class="save-button"/>
    

    Js 会跟随:

    $("input.save-button").on("click", function () {
        var button = $(this);
        var container = button.closest("div.form-container");
        var url = container.find("form").attr("action");   
    
        container.busy($.post(url, function (response) {
           container.html(response);
        }));
    
        return false;
    });
    

    【讨论】:

    • 感谢 pstarkov,正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多