在創建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);
,因爲搜索視圖已經被用來讓用戶輸入搜索參數。這似乎不是一個非常罕見的情況,所以我猜測這樣做有一個「正確方法」。