0

SearchController

public class SearchPageController : PageController<SearchPage>
{
 public SearchPageController()
    {

    }

    public SearchPageController(
        SearchService searchService,
        ContentSearchHandler contentSearchHandler,
        TemplateResolver templateResolver,
        UrlResolver urlResolver) :base()
    {
        _searchService = searchService;
        _contentSearchHandler = contentSearchHandler;
        _templateResolver = templateResolver;
        _urlResolver = urlResolver;
    }

public ViewResult Index(SearchPage currentPage, string q)
    {
        var model = new SearchContentModel(currentPage)
        {
            SearchServiceDisabled = !_searchService.IsActive,
            SearchedQuery = q
        };
 return View(model);
 }

My Search Content Model:

public class SearchContentModel:PageViewModel<SearchPage>
{
    public SearchContentModel(SearchPage currentPage) : base(currentPage)
    {
    }
    //Some parameters declaration
 } 

So the problem here is when I remove the default constructor, it shows me error saying "No parameterless constructor found for search controller" And when I add the parameterless constructor, it doesn't initiates the paramterized constructor and fails in creating model object.

How should I resolve this ??

I am stuck with this since 2 days now!

Chirag
  • 35
  • 6
  • If you are using IoC container need to register it. Where you have saved fields like ˋ_searchServicé´ – Llazar Oct 19 '18 at 08:47
  • @Llazar I am not using IoC container. – Chirag Oct 19 '18 at 09:03
  • 4
    @Chirag If you are using Episerver you are using an IoC container (see for example the `ServiceLocator` class). Is the `SearchService` class registered? Otherwise, how would the controller constructor be called with those arguments? – Ted Nyberg Oct 22 '18 at 08:34

0 Answers0