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