我很疑惑如何在MVC3中更新我的視圖模型。我正在試圖做的按鈕點擊搜索我的viewmodel特定的列表項。例如:從視圖更新模型
BooksViewModel
public List<Book> Books{get;set;}
在我看來,當一個用戶點擊按鈕我需要搜索列表的視圖模型是這樣的:
Controller
public void SetContent(int chapterId, int paragraphId)
{
var paragraph = booksViewModel.Books.Where(b =>b.ChapterId == chapterId).First().Chapter.Paragraphs.Where(p => p.Id == paragraphId).First()
model.CurrentParagraph = paragraph;
}
我遇到的問題是,我不能訪問實例來自控制器的BooksViewModel。如何訪問視圖正在使用的視圖模型實例,該實例已經具有從數據庫中檢索的數據?或者我對這一切都錯了?
由於事先
編輯
格言建議在我的模型通過從視圖到二次呼叫到控制器(即篩選模型)
,我會做到這一點的使用@Model這樣的關鍵字:
$.ajax({
type: "POST",
url: "/Books/SetSelectedContent?id=" + id + "¶graphId="+paragraphId+"&model="[email protected], // the URL of the controller action method
data: null, // optional data
success: function(result) {
},
error: function(req, status, error) {
alert('error' + error);
}
});
當我試過這似乎ajax調用c在@Model上啓用
是的,這會窒息 - 不能只是將整個模型追加到這樣的網址。它不知道如何將其轉換爲url編碼的字符串。 – Leniency 2012-03-27 16:37:38