0
我在asp.net mvc 3中看到了很多編輯動作的例子,這就是我困惑的原因。例如,如何工作UpdateModel和TryUpdateModel方法?或者如果我想更新並非所有字段,如何實現編輯操作?在asp.net中實現編輯動作mvc 3
任何人都可以給我一個關於在asp.net 3中實現編輯動作的鏈接嗎?
我在asp.net mvc 3中看到了很多編輯動作的例子,這就是我困惑的原因。例如,如何工作UpdateModel和TryUpdateModel方法?或者如果我想更新並非所有字段,如何實現編輯操作?在asp.net中實現編輯動作mvc 3
任何人都可以給我一個關於在asp.net 3中實現編輯動作的鏈接嗎?
只更新所需字段的最佳方法是爲其創建單獨的視圖模型。例如,假設你有用戶類這樣
public class User
{
public int Id {get;set;}
public string UserName {get;set}
public bool IsAdmin {get;set;}
}
而且假設你不想讓用戶的供應值IsAdmin
財產。你創建一個這樣(無IsAdmin場)視圖模型
public class EditUserViewModel
{
public int Id {get;set;}
public string UserName {get;set}
}
而編輯動作假的東西
public ActionResult Edit(EdituserViewModel model)
{
If(ModelState.IsValid)
{
User user = _repository.GetUser(model.Id);
user.UserName = model.UserName;
_repository.Update(user);
return RedirectToAction("Index");
}
return View(model);
}
這樣,有沒有方法可行,從客戶端提供IsAdmin。您可能還想看看AutoMapper和Jimmy Bogard's blog將視圖模型映射到域模型。 Jimmy在asp.net mvc中獲得了關於使用ViewModels和AutoMapper的文章。
UpdateModel和TryUpdateModel如何工作?他們使用哪個數據提供者?以及如何將EdituserViewModel與視圖綁定? – Alexandre
@model的視圖應該是EditUserViewModel,並且通常會爲其生成編輯器。我不瞭解數據提供者,你的意思是價值提供者嗎? UpdateModel和TryUpdate模型獲取它們執行綁定的初始對象 – archil
在何處閱讀UpdateModel和TryUpdate模型綁定?你能給我任何鏈接嗎?我沒有發現任何關於它的事情。 – Alexandre