Я неоднократно сталкивался с проблемой при создании контроллеров ASP.NET MVC 3, для которой я не нашел хорошего решения / дизайна.Обычно я хочу создать страницу поиска, поэтому я создаю свой контроллер:
public class MyEntityController: Controller {
public ActionResult Search() {
return View();
}
}
Это позволяет мне отобразить представление, где пользователь вводит параметры поиска.При отправке поиска я обычно создал бы действие для получения параметров поиска и выполнения фактического поиска:
[HttpPost]
public ActionResult Search(SearchEditModel model) {
IList<IMyEntity> results = ...; // Do the actual search.
SearchResultsViewModel resModel = ...; // Convert it into a view model.
// NOW WHAT?
}
Вопрос в том, что мне теперь делать?Мне нужно отправить результаты поиска в представление, чтобы отобразить их.Но я не могу просто позвонить return View(resModel);
, так как представление «Поиск» уже используется, чтобы позволить пользователю вводить параметры поиска.Это не очень необычный сценарий, поэтому я предполагаю, что есть «правильный способ» сделать это.