Umesh AP Ответов: 1

Поиск и сортировка с помощью AJAX pagination в MVC


Я разрабатываю приложение MVC4 с поиском, подкачкой и сортировкой. Все прекрасно работает с нормальным видом.
Теперь я конвертирую одно и то же приложение с помощью Ajax & Partial View.
Как я могу передать свой параметр поиска и сортировки через элемент управления подкачкой, находящийся в частичном представлении. Теперь я могу загружать отфильтрованные данные в частичном виде, но, перейдя на следующую страницу, потерял параметры поиска и загружает все записи, игнорируя фильтры поиска.

Мой элемент управления подкачкой в _PartialView.cshtml
@Html.PagedListPager(Model,
                        page => Url.Action("AjaxMethod", 
                            new 
                            {  
                                page,
                                searchByUserName = Request.QueryString["searchByUserName"],
                                searchByReaderName = Request.QueryString["searchByReaderName"],
                                searchByReaderType = Request.QueryString["searchByReaderType"],
                                searchByUploadDate = Request.QueryString["searchByUploadDate"],
                                sortBy = Request.QueryString["sortBy"]
                            }), 
                        //new PagedListRenderOptions.() { Display = PagedListDisplayMode.IfNeeded, DisplayPageCountAndCurrentLocation = true }
                        PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing( new AjaxOptions(){ HttpMethod = "GET", UpdateTargetId = "divData"})
                        )


Пожалуйста, подскажите, чего мне не хватает.

Что я уже пробовал:

Я новичок в разработке MVC. Я много гуглил по этому вопросу, но не могу найти подходящего решения.

1 Ответов

Рейтинг:
7

Umesh AP

Привет Ребята,
Я пришел, чтобы узнать, чего мне не хватает, частичный вид не получил запроса.Вот почему управление подкачкой потеряло параметры поиска и загружает все записи. Поэтому я изменил управление пейджером в _PartialView.cshtml следующим образом :

@Html.PagedListPager(Model,
                        page => Url.Action("AjaxMethod",
                            new
                            {
                                page,
                                searchByUserName = ViewBag.searchByUserName, // Request.QueryString["searchByUserName"],
                                searchByReaderName = ViewBag.searchByReaderName, // Request.QueryString["searchByReaderName"],
                                searchByReaderType = ViewBag.searchByReaderType, // Request.QueryString["searchByReaderType"],
                                searchByUploadDate = ViewBag.searchByUploadDate, // Request.QueryString["searchByUploadDate"],
                                sortBy = ViewBag.sortBy // Request.QueryString["sortBy"]
                            }),                        
                        PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions() 
                        { HttpMethod = "GET", UpdateTargetId = "divData", LoadingElementId="divloading" })
                        )



Эти объекты ViewBag инициализируются в методе действия контроллеров.

Любой, у кого есть лучшее решение для вышеуказанной проблемы, чем это. Пожалуйста, предложите.


Umesh AP

Всем Привет,
Может ли кто-нибудь предложить альтернативное и лучшее решение для этого?