Ik zit met een, eigenlijk heel simpel, probleempje; ik heb een form rechtsboven in mijn site met een zoekveld. Als dat zoekveld wordt ingevuld en gepost wordt deze door een method met het [HttpPost] attribuut afgevangen en de data opgevraagd. Wat ik echter wil is deze data niet returnen naar het zoekveld, maar een aparte pagina inladen met de zoekresultaten.
Wat ik dus geprobeerd heb is iets van 'return View("viewnaam", data)', maar dan raakt hij in een endless loop met een stackoverflow tot gevolg, tevens heb ik een 'return Redirect("viewnaam")' geprobeerd, maar dan krijg ik weer gezeur dat ik geen redirect mag doen nadat de headers verstuurd zijn. Wat is nou eigenlijk een nette oplossing hiervoor?
Onderstaand is de code voor mijn controller:
Wat ik dus geprobeerd heb is iets van 'return View("viewnaam", data)', maar dan raakt hij in een endless loop met een stackoverflow tot gevolg, tevens heb ik een 'return Redirect("viewnaam")' geprobeerd, maar dan krijg ik weer gezeur dat ik geen redirect mag doen nadat de headers verstuurd zijn. Wat is nou eigenlijk een nette oplossing hiervoor?
Onderstaand is de code voor mijn controller:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| public class SearchController : Controller { private readonly ITagRepository _repository; public SearchController(ITagRepository repository) { _repository = repository; } public ActionResult Form() { return PartialView("_Form"); } [HttpPost] public RedirectResult Form(SearchQuery searchQuery) { IEnumerable<Blogpost> tags = _repository.Tags.Where(tag => tag.Value.Contains(searchQuery.SearchString)).SelectMany(tag => tag.Blogposts); // het stuk waar het om gaat; wat doe ik met de data? return Redirect("/Search/Results"); } } |