我正在使用.NET 4.5中添加的ASP.NET表單模型綁定。我發現有很多關於模型綁定的東西可以使它更容易,並減少需要編寫的代碼量。但是,我想知道是否有方法可以手動更新項目。ASP.NET 4.5模型綁定自定義更新
我發現像這樣的TryUpdateModel方法:
public void UpdateEquipment(int Id)
{
var equip = EquipCondContext.Equipments.Single(x => x.Id == Id);
TryUpdateModel(equip);
}
,但是,我想有能力做到這一點:
public void UpdateEquipment(int Id)
{
var equip = EquipCondContext.Equipments.Single(x => x.Id == Id);
//equip.Description = A TextBox.Text on that row that I just saved in my list.
EquipCondContext.SaveChanges();
}
有沒有一種方法,我可以做更多的手動那種更新?
這是一個示例場景。比方說,我有一個用戶輸入用戶ID的行上的文本框,但在更新我想實際設置他們的徽章號碼。在我的更新函數中,我首先要做一個查詢來獲取給定用戶ID的徽章號碼,然後在保存上下文之前在我的實體中設置此屬性。
在第二個示例中,根本不需要模型綁定。 – Nenad 2013-03-04 18:11:01
也許這會讓事情更清楚,如果你舉了一個你想要實現的例子。你爲什麼要手動更新? – magnattic 2013-03-04 18:16:02
你的第二個例子將工作。 TryUpdateModel將使用您的模型'equip'和默認值提供程序(Form,Querystring等),並嘗試通過匹配模型上的名稱來設置值。 – Joe 2013-03-04 18:27:31