我的MVC 2應用程序中有一個表單,允許用戶從模型對象更新一組字段,這純粹是一種更新,因爲模型對象已經存在其輸入的必填字段。但是,當我嘗試更新一小部分字段並在我的模型對象上調用TryUpdateModel
時,它會失敗,並且我的模型狀態會根據已填寫的必填字段發生錯誤。MVC2 TryUpdateModel包含的屬性不會忽略對未包含字段的驗證
這裏是我的控制器代碼:
[HttpPost]
public ActionResult Work(int id, FormCollection forms)
{
var lead = claimRepo.GetLeadByID(id);
if (lead == null)
return View("NotFound");
if (TryUpdateModel(lead, "Lead")) {...}
}
我甚至試過明確說明哪些字段更新,像這樣
TryUpdateModel(lead, "Lead", new string[] { "Date", "UserID", ...}) {...}
它仍然失敗,是有一些原因,這不忽略未包括的字段的驗證或我做錯了什麼?
謝謝!
編輯
我發現這個問題,我有沒有數據庫支持,並在需要的元數據,因此增加一個getter和setter返回什麼屬性表示導致被標記上我的課的屬性TryUpdateModel
通過,但我仍然好奇爲什麼顯式包含的屬性沒有忽略我沒有包括的領域。
另一個編輯
我有一個用戶模型,以及所有數據庫備份所需的字段,並試圖明確說明更新的是哪個領域仍然導致在形式失蹤領域的ModelState錯誤,而是從正在更新的數據庫填充模型對象。