Я не уверен, как обновить мою модель представления в MVC3. То, что я пытаюсь сделать при нажатии кнопки, выполнить поиск по моей модели представления для определенного элемента списка. Пример:
BooksViewModel
public List<Book> Books{get;set;}
На мой взгляд, когда пользователь нажимает на кнопку, мне нужно искать список в ViewModel следующим образом:
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 из контроллера. Как получить доступ к экземпляру модели представления, которая использует представление, в котором уже есть данные, полученные из базы данных? Или я все это делаю неправильно?
Заранее спасибо
1012 * редактировать *
Максим предложил передать мою модель из представления во вторичный вызов к контроллеру (т.е. для фильтрации модели)
я бы сделал это, используя ключевое слово @Model, например:
$.ajax({
type: "POST",
url: "/Books/SetSelectedContent?id=" + id + "¶graphId="+paragraphId+"&model="+@Model, // the URL of the controller action method
data: null, // optional data
success: function(result) {
},
error: function(req, status, error) {
alert('error' + error);
}
});
Когда я пытался это сделать, казалось, что вызов ajax задохнулся от @ Model