首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC EditorForModel Freeman

MVC EditorForModel Freeman
EN

Stack Overflow用户
提问于 2013-03-06 18:02:44
回答 1查看 107关注 0票数 0

我正在读一本书Pro ASP.NET MVC3 Freeman,书中展示了如何制作简单的管理信息网络商店。问题是,当我试图保存一个产品的更改时,它并没有保存。

编辑视图:

代码语言:javascript
复制
@using (Html.BeginForm()) {
@Html.EditorForModel()
<input type="submit" value="Save" />}

编辑方法:

代码语言:javascript
复制
[HttpPost]
public ActionResult Edit(Product product)
{
    if (ModelState.IsValid)
    {
        repository.SaveProduct(product);
        TempData["message"] = string.Format("{0} has been saved", product.Name);
        return RedirectToAction("Index");
    }
    // there is something wrong with the data values
    return View(product);
}

节省产品方法:

代码语言:javascript
复制
private EFDbContext context=new EFDbContext();
public void SaveProduct(Product product)
{
    if (product.ProductID == 0)
    {
        context.Products.Add(product);
    }
    context.SaveChanges();
}

编辑结果:我将产品的名称更改为"Kayakkkkkkkkkk“。临时消息说,保存已完成,但产品的名称仍然是"Kayak“。

EN

回答 1

Stack Overflow用户

发布于 2013-03-06 18:14:02

解决了。

代码语言:javascript
复制
public void SaveProduct(Product product)
{
    if (product.ProductID == 0)
    {
        context.Products.Add(product);
    }
    else
    {
        context.Products.Attach(product);
        context.Entry(product).State = EntityState.Modified;
    }

    context.SaveChanges();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15254677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档