我用渲染动作调用部分视图
@{ Html.RenderAction("GetEmployerJobs", "Job"); }
我的GetEmployerJobs控制器操作如下所示
public ActionResult GetEmployerJobs(int? p, string id)
{
var jobs = repository.GetEmployerJobs(id);
int pageSize = 1;
int pageNumber = (p ?? 1);
return PartialView("~/Views/Dashboard/Employer/_GetEmployerJobPartial.cshtml", jobs.ToPagedList(pageNumber, pageSize));
}
我的部分视图包含寻呼机
@Html.PagedListPager(Model, p => Url.Action("GetEmployerJobs", "Job", new { p }))
对GetEmployerJobs的调用是一个子操作,所以它不起作用,如果我删除子操作属性,只有在寻呼机点击时才会呈现部分视图。
如何在寻呼机点击后刷新这个局部视图,我四处查看选项,例如使用AJAX但无法弄清楚如何使用PagedList.MVC实现它
答案 0 :(得分:0)
您可以使用ajax刷新部分视图而不刷新整个页面
首先使用命令
安装包jQuery.Ajax.Unobtrusive安装包jQuery.Ajax.Unobtrusive
并确保在寻呼机之前包含 jQuery-xxxx.js和jquery.unobtrusive-ajax.js
在@{ Html.RenderAction("GetEmployerJobs", "Job"); }
代码与id ajaxpanel
<div id='ajaxpanel'>
然后在局部视图中的寻呼机之后添加此java脚本代码
<script>
$(".pagination > li > a").attr('data-ajax-update', '#ajaxpanel');
$(".pagination > li > a").attr('data-ajax-mode', 'replace');
$(".pagination > li > a").attr('data-ajax', 'true');
</script>