From fcd3fbfb224bd3c6c2169ce219e6b830dcb68bd0 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 17 Jan 2011 17:47:05 -0800 Subject: [PATCH] Preserving filter information accross page calls --HG-- branch : dev extra : transplant_source : %80R%A2%04S%40%E8l%12%F3YYAv%C5w%A1%CFhk --- .../Modules/Orchard.Users/Controllers/AdminController.cs | 9 +++++++++ .../Modules/Orchard.Users/Views/Admin/Index.cshtml | 1 + src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs index b304999b7..9cff17ea0 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Web.Mvc; +using System.Web.Routing; using Orchard.ContentManagement; using Orchard.Core.Common.Models; using Orchard.Core.Contents.Controllers; @@ -95,6 +96,14 @@ namespace Orchard.Users.Controllers { Pager = pagerShape }; + // maintain previous route data when generating page links + var routeData = new RouteData(); + routeData.Values.Add("Options.Filter", options.Filter); + routeData.Values.Add("Options.Search", options.Search); + routeData.Values.Add("Options.Order", options.Order); + + pagerShape.RouteData(routeData); + return View(model); } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml b/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml index a4aeb1bb0..7c7ba8b71 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml @@ -36,6 +36,7 @@ @Html.SelectOption(Model.Options.Order, UsersOrder.Name, T("Name").ToString()) @Html.SelectOption(Model.Options.Order, UsersOrder.Email, T("Email").ToString()) +
diff --git a/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml b/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml index 7eac0b219..12ef19dc3 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml +++ b/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml @@ -25,6 +25,12 @@ Model.Classes.Add("pager"); Model.Classes.Add("group"); var tag = Tag(Model, "ul"); + + if(Model.RouteData != null) { + foreach(var rd in Model.RouteData.Values) { + routeData[rd.Key] = rd.Value; + } + } } @if (Model.TotalItemCount > 1) {