我想有兩個部分視圖,一個用於SEARCH
和一個用於SEARCHRESULTS
。從另一個部分視圖更新部分視圖 - ASP.NET MVC2
我想在SEARCH
局部視圖表單上單擊「搜索」按鈕時更新SEARCHRESULTS
。 SEARCHRESULTS
需要從SEARCH
局部視圖獲得輸入給它的表單數據。
我不完全確定如何去做這件事。我可以從我的SEARCH
局部視圖的控制器操作更新SEARCHRESULTS
局部視圖嗎?
我想有兩個部分視圖,一個用於SEARCH
和一個用於SEARCHRESULTS
。從另一個部分視圖更新部分視圖 - ASP.NET MVC2
我想在SEARCH
局部視圖表單上單擊「搜索」按鈕時更新SEARCHRESULTS
。 SEARCHRESULTS
需要從SEARCH
局部視圖獲得輸入給它的表單數據。
我不完全確定如何去做這件事。我可以從我的SEARCH
局部視圖的控制器操作更新SEARCHRESULTS
局部視圖嗎?
一般性討論
在MVC設計模式中,視圖彼此不知道。它們可能通過組裝多個局部視圖的視圖的概念而被束縛在一起,但即使這樣,局部視圖也是彼此無知的。這個概念適用於ASP.NET MVC。 Mike Brind在他的文章ASP.NET MVC Partial Views and Strongly Typed Custom ViewModels中做了很好的描述partials和ViewData。
具體到你的問題
要回答你的問題的局部視圖可以有一個鏈接,呈現不同的視圖控制器的動作,只要適當的信息傳遞給控制器。你如何去做這將取決於你想要做什麼。
鑑於你的問題,我將假設SEARCH
局部視圖是一個帶有搜索字段和按鈕的簡單形式。而SEARCHRESULTS
是返回數據的列表。在這種情況下,您需要創建一個名爲Search
的控制器操作,該操作會接收字符串值並返回部分或SEARCHRESULTS
部分的部分視圖或包含SEARCHRESULTS
部分的視圖。 Scott Guthrie在他的博客文章Passing ViewData from Controllers to Views中提供了一個將數據傳遞到視圖的相當好的描述。
// returning partial
public ActionResult Search(string q)
{
//do search .......
//.................
return PartialView("SEARCHREULTS", viewdata);
}