查看多个部分视图回发

时间:2012-04-04 10:05:40

标签: asp.net-mvc-3

我是MVC(MVC3)的新手,所以不确定实现它的最佳方法。

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

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

如何在MVC3中实现此功能? (从高层来看)

由于

1 个答案:

答案 0 :(得分: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;
});