Preserving filter information accross page calls

--HG--
branch : dev
extra : transplant_source : %80R%A2%04S%40%E8l%12%F3YYAv%C5w%A1%CFhk
This commit is contained in:
Sebastien Ros
2011-01-17 17:47:05 -08:00
parent f4fd2d3ba1
commit fcd3fbfb22
3 changed files with 16 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -36,6 +36,7 @@
@Html.SelectOption(Model.Options.Order, UsersOrder.Name, T("Name").ToString())
@Html.SelectOption(Model.Options.Order, UsersOrder.Email, T("Email").ToString())
</select>
<input type="hidden" name="Page" value="1" />
<button type="submit" name="submit.Filter" value="@T("Filter")">@T("Filter")</button>
</fieldset>
<fieldset>

View File

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