MVC 4刷新局部视图

aw0*_*w04 2 asp.net-mvc asp.net-mvc-4

我在我的主父视图中有一个局部视图,其中包含我需要更新的表.它在局部视图中的原因是我可以在不重新加载主视图的情况下更新它.我不能在这里使用表单因为我在父视图中的一个表单.

局部视图:

@model IList<ItemViewModel>

@Html.ActionLink("Add Item", "AddItem", "Home", new { model = Model }, null)

<table>
    ...
    @{foreach (var item in Model)
        //add table row
    }
    ....
</table>
Run Code Online (Sandbox Code Playgroud)

控制器:

public ActionResult AddItem(IList<ItemViewModel> model)
{
    model.Add(...);
    return View("_PartialView", model);
    //also tried return PartialView(...)
}
Run Code Online (Sandbox Code Playgroud)

一切都适用于大部分但是当我的ActionResult返回时,我的父视图消失了,我看到的只是部分.我想当我返回局部视图时这是有道理的,但我如何在父视图中刷新它?

CSh*_*per 5

在您的主视图中这是您的部分.

<div id="partialSummaryDiv">@{Html.RenderAction("GetSummary", "Order");}</div>
Run Code Online (Sandbox Code Playgroud)

在某些情况下,你会有你的ajax电话.

$.ajax({
    url: "/Order/GetContractTotals",
    type: "POST",
    success: function (result) {
         // refreshes partial view
        $('#partialSummaryDiv').html(result);
    }
});
Run Code Online (Sandbox Code Playgroud)

调节器

[HttpPost]
public ActionResult GetContractTotals()
    {
       // blah blah
        return PartialView("_OrderContractTotals", octvm);        
    }
Run Code Online (Sandbox Code Playgroud)