PagedList.MVC刷新部分视图

时间:2014-11-14 04:43:45

标签: jquery ajax asp.net-mvc pagedlist

我用渲染动作调用部分视图

@{ 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实现它

1 个答案:

答案 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>