0
我的ASP.NET MVC應用程序並非反序列化整個列表,而只是6個筆記,給出了下面的刪節例子。這可能是什麼原因?在頁面上,我看到正確的結果數量。asp.net mvc不反序列化整個子列表
[HttpGet]
public ActionResult Notes() {
var viewModel = new NotesViewModel();
viewModel.Notes = GetNotes(); // returns 50+ notes, displaying as expected
return View(viewModel);
}
[HttpPost]
public ActionResult Notes(NotesViewModel viewModel) {
// viewModel.Notes only has 6 notes, but 50+ were passed to the view above
}
public class NotesViewModel {
public List<Note> Notes { get; set; }
}
public class Note {
public long Id { get; set; }
public string Text { get; set; }
}
<table>
@for (int i = 0;i < Model.Notes.Count;i++) {
var note = Model.Notes[i];
<tr>
<td>@note.Id</td>
<td>@Html.TextBoxFor(m => m.Notes[i].Text)</td>
</tr>
}
</table>
<input type="submit" value="Save" />
懷疑這將是原因,但你的循環中有一個額外的''。另外,出於好奇,爲什麼你使用'for'循環而不是'foreach'? –
我正在使用for循環,因爲它讓我有每個子元素的索引。我會再次嘗試使用foreach,但這正是我最初使用的。正如你所說,並不重要。我會刪除它。 –
如果您顯示呈現的HTML,它也將有所幫助 –