diff --git a/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs b/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs
index 1808581d7..5dad632b5 100644
--- a/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs
+++ b/src/Orchard.Web/Modules/Orchard.Search/Filters/SearchFilter.cs
@@ -1,15 +1,20 @@
using System.Web.Mvc;
using Orchard.Mvc.Filters;
-using Orchard.Mvc.ViewModels;
-using Orchard.Search.ViewModels;
namespace Orchard.Search.Filters {
public class SearchFilter : FilterProvider, IResultFilter {
- public void OnResultExecuting(ResultExecutingContext filterContext) {
- var viewModel = filterContext.Controller.ViewData.Model as BaseViewModel;
+ private readonly IWorkContextAccessor _workContextAccessor;
- if (viewModel != null)
- viewModel.Zones.AddRenderPartial("search", "SearchForm", viewModel is SearchViewModel ? viewModel : new SearchViewModel());
+ public SearchFilter(IWorkContextAccessor workContextAccessor) {
+ _workContextAccessor = workContextAccessor;
+ }
+
+ public void OnResultExecuting(ResultExecutingContext filterContext) {
+ dynamic search = filterContext.Controller.ViewData.Model;
+ var workContext = _workContextAccessor.GetContext(filterContext);
+
+ if (search != null)
+ workContext.Page.Search.Add(search);
}
public void OnResultExecuted(ResultExecutedContext filterContext) {
diff --git a/src/Orchard.Web/Modules/Orchard.Search/Module.txt_ b/src/Orchard.Web/Modules/Orchard.Search/Module.txt
similarity index 100%
rename from src/Orchard.Web/Modules/Orchard.Search/Module.txt_
rename to src/Orchard.Web/Modules/Orchard.Search/Module.txt
diff --git a/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj b/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj
index 22128d21f..4ae7b77ef 100644
--- a/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj
+++ b/src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj
@@ -49,7 +49,7 @@
3.5
-
+
3.5
@@ -90,14 +90,16 @@
-
-
-
+
+
+
+
+