0
嗨我有一個關於模型綁定的問題。假設你有一個現有的數據庫實體顯示在一個表單中,並且你想編輯一些細節,一些屬性例如createddate等沒有綁定到表單,在模型綁定過程中,這些屬性沒有分配給模型,因爲它們沒有http post數據或querystrong等,因此它們的屬性爲空。在我的更新控制器的方法,標識只是喜歡做在更新實體場景中的asp.net mvc自定義模型綁定
公衆的ActionResult更新(實體耳鼻喉科) {// 將更改保存到數據庫 }
但有些性能是耳鼻喉科空,它們將覆蓋現有數據庫字段不是表單發佈數據的一部分,處理此問題的正確方法是什麼?我曾嘗試使用隱藏字段來保存數據,但模型綁定似乎並未將隱藏字段分配給模型。任何建議,將不勝感激
這是有道理的安德魯,感謝您的回覆。我認爲你的解決方案在一個簡單的情況下工作,當你使用自定義模型聯編程序時,既適用於保存和更新方案,也需要將值分配給類型而不是viewdata。你將如何處理? – mctayl 2010-05-18 21:10:34
而且你會如何利用模型驗證等功能? – mctayl 2010-05-18 21:20:15
重新評論:不知道我明白你的意思,你能解釋一下這個問題嗎?重新第二評論,我做我的驗證在活頁夾,這樣它使郵政處理程序整潔。不適當更新答案以顯示處理程序的示例,但驗證位在這裏可能會過度。基本上,我擴展了'DefaultModelBinder',重寫'BindModel',調用'base.BindModel',然後從我的IoC容器中爲模型類型獲取驗證器,驗證模型,然後在ModelState中粘貼任何錯誤 – 2010-05-19 09:14:50