2010-05-24 40 views
0

我想爲我的項目創建一個簡單的分頁搜索。我在我的「高級搜索」頁面遇到問題,我有幾個文本框輸入,用戶將填充相應的數據(基本上只有幾個過濾器)。將PaginatedList傳遞給ActionResult MVC C#

我的觀點是用類似於NerdDinner教程的paginatedList類強類型化的。

在我的控制器中,我想傳遞PaginatedList作爲參數,因爲我的視圖包含來自PaginatedList模型的幾個信息位。 PaginatedList爲空(作爲參數),然後我改變了添加的路線;對象本身不再爲null,但值是。

查看:

<%= Html.TextBox("Manufacturers", Model.Manufacturers) %> 
<%= Html.TextBox("OtherFilters", Model.FilterX) %> 
//...etc etc 

控制器:

public ActionResult AdvancedSearchResults(PaginatedList<MyModel> paginatedList) { 
//... 
} 

任何想法?我甚至會正確地處理這個問題嗎?我應該創建一個封裝了PaginatedList信息的ViewModel以及我需要的附加信息嗎?

回答

0

您可能想要創建SearchCriteria類,其中包含用於過濾的用戶輸入數據。

控制器將有如下操作:

public ActionResult AdvancedSearchResults(SearchCriteria criteria) 
{ 
    PaginatedList<MyModel> result = SearchService.Search(criteria); 
    return View(result); 
}