我想通過傳遞一個JSON到我的控制器操作使用jQuery AJAX更新模型。 我可以看到值已經到達我的控制器,但我的一些模型屬性,如BackgrounColor和BackgroundImage沒有更新。爲什麼我在這裏失蹤。模型將不會綁定使用json上編輯POST
public PartialViewResult Edit(Header header)
{
// Get the record from the database
Header oHeader = CreateHeaderObj(header);
Header dbHeader = _headerRepo.GetHeader(header.Id);
// Set the properties from the form
// Todo : Needs better mapping
dbHeader.Title = oHeader.Title;
dbHeader.TitleImage = oHeader.TitleImage;
dbHeader.BackgroundColor = oHeader.BackgroundColor;
dbHeader.BackgroundImage = oHeader.BackgroundImage;
dbHeader.ImageBackDefault = oHeader.ImageBackDefault;
dbHeader.ImageBackClick = oHeader.ImageBackClick;
dbHeader.ImageHomeDefault = oHeader.ImageHomeDefault;
dbHeader.ImageHomeClick = oHeader.ImageHomeClick;
dbHeader.Mode = oHeader.Mode;
// Check if model properties are valid
if (ModelState.IsValid)
{
// Model state is valid, proceed with update
UpdateModel(dbHeader);
_headerRepo.Save();
return PartialView("_Display", dbHeader);
}
else
{
throw new Exception("Failed to update record.");
}
}
問候,
瑞恩
編輯: 函數CreateHeaderObj返回與一樣,如果背景是一個有效的十六進制,則前置背景顏色修改的值頁眉模型:#。我可以看到我的backgroundcolor屬性從#f9f9f9更新爲background-color:#f9f9f9,但它沒有保存到數據庫中。我得到的只是f9f9f9
絕對沒有任何理由,只有這兩個特定的屬性將不受約束。請仔細檢查您是否在客戶端拼錯了它們。 –
對不起,你是對的物業越來越受限。但在將它保存到數據庫之前,我會進行一些清理,並且我的更改未保存到表中。 –