others - 可不可以只更新部分视图,而不是更新整页?

有没有一种方法,可以在asp.net mvc中提交部分视图表单,而不需要重新加载父页面,只重新加载部分视图到新状态?

时间:

没有jQuery。

放入div,如下所示:


<div id="partial">
 @Html.Partial("YourPartial")
</div>

然后,要更新(例如单击id为button的按钮),可以执行以下操作:


$("#button").click(function () {
 $.ajax({
 url:"YourController/GetData",
 type:"get",
 data: $("form").serialize(), //if you need to post Model data, use this
 success: function (result) {
 $("#partial").html(result);
 }
 });
}

然后你的动作将如下所示:


public ActionResult GetData(YourModel model) //that's if you need the model
{
 //do whatever

 return View(model);
}

语法是


@Html.Action("MyPartial")

子操作为


public ActionResult MyPartial()
{
 return PartialView(Model);
}

如果窗体发布到子操作


@using (Html.BeginForm("MyPartial"))
{
    ...
}

部分视图使用从子操作返回的部分视图进行更新。

我将使用部分视图和 @html.RenderPartial("partialName") 部分助手在此类场景中使用Ajax表单 helper 。

...