[英]Html.EditorFor losing data
我目前正在處理一個大型項目,該項目具有一個Timesheet類,其中包含TimesheetEntries列表。 對此有一個編輯頁面,如下所示:
<!-- Other timesheet properties -->
@Html.EditorFor(model => model.TimesheetEntries)
效果很好,每個時間表條目都有一行。 當我保存時間表(將POST發送到服務器)時,自定義模型聯編程序會在將時間表傳遞給控制器之前清除空行,換句話說,時間表中的行數可能少於POST數據。
如果出現驗證錯誤,我將重新顯示編輯頁面,這就是問題所在。
如果model.TimesheetEntries
包含n
條記錄,則Html.EditorFor()
從POST數據(包括空行Html.EditorFor()
復制前n
行,而不是為我傳遞的數據創建HTML! 這意味着我在表格底部丟失了很多行,這顯然是不希望的。
誰能解釋為什么會這樣,甚至更好地告訴我如何讓EditorFor像我期望的那樣工作?
這是描述過程的圖片:
您可能想看看這篇文章中提供的答案Asp:net MVC 3:@ Html.Editor對於模板中我模型的子集合? 這可能會有所幫助。
原來Html.EditorFor在使用傳遞給它的值之前先在ModelState中查找...因此,要使其獲取我傳遞的值,我需要首先從ModelState中清除相關的值,嗯。
該問題/答案將對其進行更詳細的介紹。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.