在使用Razor页面时,使用@Html.Partial(..)
部分使用很简单。
但是,当下拉列表更改时,我想刷新视图的一部分-由局部视图渲染的部分。
我搜索了很多内容,发现了诸如https://github.com/aspnet/Razor/issues/2073之类的答案,他们说分词是指后面的代码。
是否存在合理的解决方法,使得我可以重新渲染部分视图中定义的视图子集?实现此目标的最佳实践方法是什么?
答案 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请求中使用相同的部分,并用于加载初始结果-有时您必须在部分内注意发生的事情,因为这...