我有一個網站,有PageContent,新聞,事件等,我有一個控制器,將處理搜索。實現網站搜索的最佳MVC實踐
在該控制器的行動方法,我想我做一個var results = SearchClass.Search(searchstring)
保持邏輯的控制器。
但是因爲我正在返回不同的結果,因爲我正在搜索新聞,事件等,我如何返回結果,因爲它們是不同的模型。我是否使用ViewModel並將其傳遞給視圖? return View(SearchModel);
更新:我敲了這件事,你有什麼感想:
public ActionResult Search(string criteria)
{
var x = WebsiteSearch.Search(criteria);
return View(x);
}
public static class WebsiteSearch
{
public static SearchViewModel Search(string SearchCriteria)
{
return new SearchViewModel(SearchCriteria);
}
}
public class SearchViewModel
{
private string searchCriteria = String.Empty;
public IEnumerable<News> NewsItems
{
get { return from s in News.All() where s.Description.Contains(searchCriteria) || s.Summary.Contains(searchCriteria) select s; }
}
public IEnumerable<Event> EventItems
{
get { return from s in Event.All() where s.Description.Contains(searchCriteria) || s.Summary.Contains(searchCriteria) select s; }
}
public SearchViewModel(string SearchCriteria)
{
searchCriteria = SearchCriteria;
}
}