MVC*_*bie 12 frameworks errata asp.net-mvc-3
G'day All,有没有人购买了Apress Pro Asp.net MVC Framework 3的ALPHA并创建了SportsStore?我不能为我的生活编辑产品并成功更新数据库?没有错误显示和单元测试都运行,但没有成功的'编辑',即我更改一些细节,点击保存,它报告成功 - 然后检查结果,没有发生任何事情?通过SportsStore工作时有没有其他人发现这个?任何建议将不胜感激.
干杯.
car*_*r_3 12
保存前需要更新EF对象的状态.
public void SaveProduct(Product product)
{
if (product.ProductID == 0)
{
context.Products.Add(product);
}
else
{
context.Entry(product).State = System.Data.EntityState.Modified;
}
int result = context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
小智 -1
尝试这个
public ActionResult Edit(Product product)
{
if (ModelState.IsValid)
{
Product p = repository.Products.FirstOrDefault(x => x.ProductID == product.ProductID);
if (p != null)
{
p.ProductID = product.ProductID;
p.Price = product.Price;
p.Category = product.Category;
p.Description = product.Description;
p.Name = product.Name;
}
else
p = product;
repository.SaveProduct(p);
TempData["message"] = string.Format("{0} has been saved", product.Name);
return RedirectToAction("Index");
}
else
{
return View(product);
}
}
Run Code Online (Sandbox Code Playgroud)
我是 mvc 3 的初学者,但我认为模型引用(产品参数)是一个未绑定到 EF Context 的 Product 对象