【问题标题】:PagedList.MVC Refresh Partial ViewPagedList.MVC 刷新局部视图
【发布时间】:2015-01-11 10:25:07
【问题描述】:

我正在调用带有渲染操作的局部视图

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

【问题讨论】:

    标签: jquery ajax asp.net-mvc pagedlist


    【解决方案1】:

    可以使用ajax刷新部分视图而不刷新整个页面

    首先使用命令安装包jQuery.Ajax.Unobtrusive

    安装包 jQuery.Ajax.Unobtrusive

    并确保 jQuery-xxxx.js 和 jquery.unobtrusive-ajax.js 包含在寻呼机之前

    <div id='ajaxpanel'>标签之间添加代码行@{ Html.RenderAction("GetEmployerJobs", "Job"); } ,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>
    

    【讨论】:

      猜你喜欢
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      相关资源
      最近更新 更多