ASP NET MVC сильно эволюционировал от бета-версии 1 до версии 2 и теперь версии 3, хотя 2 и 3 гораздо более похожи.
Множество таких примеров связано с MVC 1 - чему я научился на собственном опыте. Я довольно новичок в ASP NET MVC, но понял, что в MVC 2 ModelBinder выглядит после обновления модели, поэтому обычно, если вы определяете сигнатуру вашего метода в качестве модели, вам не нужно вызывать UpdateModel
. * 1006. *
Например:
public ActionResult Create(MyModel model)
{
... // no need to call UpdateModel
Однако, если вы определите это так, то вам нужно сделать это:
public ActionResult Create(int id, FormCollection collection)
{
MyModel model = Repository.Get(id); // in your case EF productosBD.Where(x=>x.Id = id)
UpdateMode(model, collection);
Repository.Save(model);
С точки зрения того, где происходит обновление, да, оно будет происходить в вашем контроллере, но это зависит от того, используете ли вы шаблон репозитория или используете пустой контекст базы данных. Я лично использую ServiceProxy
, который затем обращается к службе WCF, которая обращается к Manager
, которая использует Repository
для этого.