如何使用Razor Pages coredotnet如何通过Ajax加载部分视图

时间:2018-07-11 13:44:07

标签: ajax partial-views razor-pages

在使用Razor页面时,使用@Html.Partial(..)部分使用很简单。  但是,当下拉列表更改时,我想刷新视图的一部分-由局部视图渲染的部分。

我搜索了很多内容,发现了诸如https://github.com/aspnet/Razor/issues/2073之类的答案,他们说分词是指后面的代码。

是否存在合理的解决方法,使得我可以重新渲染部分视图中定义的视图子集?实现此目标的最佳实践方法是什么?

1 个答案:

答案 0 :(得分:1)

是的

具有一个可以调用的操作方法以仅重新加载部分视图:

public ActionResult Reload()
{
    return PartialView("NameOfPartialView");
}

从客户端获取它(我将使用jQuery):

$.ajax({ 
  type: "post", 
  url: "Reload",
  data: {},
  success: function(d) {
   //d is the HTML content returned from the Action Method
   $("#parentelementaroundinnerdata").html(d);
  }
});

从action方法返回部分视图将返回一个HTML字符串,可以使用父元素将其注入到页面中,以用更新替换其内容。这意味着在渲染原始图像时,请进行以下设置:

<div id="parentelementaroundinnerdata">
   @Html.Partial("NameOfPartialView")
</div>

您可以在AJAX请求中使用相同的部分,并用于加载初始结果-有时您必须在部分内注意发生的事情,因为这...