2014-11-14 2 views
0

Я зову частичный вид с визуализацией действияPagedList.MVC Обновить Частичный вид

@{ 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

вы можете использовать AJAX для обновления частичного вид без обновления всей страницы

Первого пакета установки jQuery.Ajax.Unobtrusive с помощью команды

Install-Package jQuery.Ajax.Unobtrusive

и убедитесь, что JQuery-xxxx.js и jquery.unobtrusive-ajax.js включены до пейджера

Добавьте строку кода @{ Html.RenderAction("GetEmployerJobs", "Job"); } между <div id='ajaxpanel'> тег с идентификатором ajaxpanel

затем добавить Java Script код после пейджер в частичном виде

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