【问题标题】:MVC 4 - VIews / Partial Views and Forms - How to update just the partial view on a submit?MVC 4 - 视图/部分视图和表单 - 如何仅更新提交时的部分视图?
【发布时间】:2013-05-21 14:24:40
【问题描述】:

我有一个包含表单和部分视图的 MVC 4 视图。主视图包含有关产品的信息,部分视图包含产品的图像。

我想做的是让局部视图包含它自己的形式,图像将在该形式上显示。如果我将此表单提交给控制器操作方法,修改它所基于的模型,然后让操作方法刷新部分视图,我的主视图的部分视图部分会改变,而不是主视图本身吗?如果没有,有没有更好的方法来做我想做的事情。我只想更新主视图的局部视图部分。

【问题讨论】:

  • 您可以使用ajax发布表单信息,然后使用jQuery重新加载部分视图。

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


【解决方案1】:

如果您只想更新部分视图,您应该使用 AJAX 调用检索数据。这样你就调用了一个控制器,它将返回你需要的视图(在本例中为部分视图)。示例:

CSHTML:

<div id="myPartialViewDiv">
    @{Html.RenderPartial("myPartialView", Model);}
</div>

JS:

searchAdmin = function () {

    var URL = "myController/myAction";

    $.get(URL, { "optionalArg": optionalArg }, function (data) {
        $("#myPartialViewDiv").html(data);
    })
}

我的控制器:

public JsonResult myAction(string optionalArg)
{
    // do something...

    return this.Json(whatIwantToReturn.ToList(), JsonRequestBehavior.AllowGet);
}

【讨论】:

  • 感谢 Zed。代替我的操作方法返回一个 JsonResult,它可以返回一个 ActionResult。在这种情况下,我将只返回部分视图所基于的模型。我对这一切还是很陌生。
  • 是的,你可以在post看到如何做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多