簡體   English   中英

HTML.Editor用於丟失數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM