ajax - 使用 Razor Pages coredotnet 如何通过 ajax 加载部分视图
问题描述
在使用 Razor 页面时,使用 partial using 很简单@Html.Partial(..)
。但是,当下拉列表更改时,我想刷新部分视图 - 部分视图呈现的部分。
我搜索了很多,并找到了诸如:https ://github.com/aspnet/Razor/issues/2073 之类的答案,他们说部分代码是为了后面的代码。
是否有合理的解决方法,以便我可以重新渲染部分视图中定义的视图子集?实现这一目标的最佳实践方式是什么?
解决方案
是的,
有一个可以调用的操作方法来重新加载部分视图:
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 请求中使用相同的部分并加载初始结果 - 有时您必须小心在部分中发生的事情,因为...
推荐阅读
- extjs - Rhino Parse Error (missing ] after element list
- matlab - 有没有一种方法可以在 Matlab 中集成函数 f(x) 的对数而不定义例如 l = log(f(x)?
- javascript - 多个html部分,检查我在哪个部分
- reactjs - React- Button Onclick 不从文件系统渲染文件 - 在任何点击链接时它总是从文件对象渲染最后一个文件
- c# - 从智能手机访问网络服务器
- android - 从 FirebaseDatabse 收集所有数据并调用 notifyDataSetChanged() 一次
- excel - Excel、OFFSET/INDEX 和列表中的匹配项
- php - 尝试在 laravel 中提交表单时出现 404 错误
- exact-online - 如何获取 API 的 Division(精确在线)
- tsql - 如何将字符串转换为 dateTime2(7) T-SQL