MVC中的编辑控制器不会更改数据库中的数据

时间:2015-03-06 09:09:14

标签: c# asp.net-mvc asp.net-mvc-4 model-view-controller controller

我是ASP.NET MVC的新手,我正在尝试创建一个小项目,但我陷入了编辑控制器部分。 这是我的“真实”控制器,其中包含一个名为PostEditViewModel的函数,其中包含内部查询以更改数据。

public EditViewModel PostEditViewModel(EditViewModel model)
    {
        //var model = new EditViewModel();
        using (var db = new NorthwindEntities())
        {
            var dati = db.Products
                        .Where(p => p.Id == model.Id).Single();
            dati.Id = model.Id;
            dati.Name = model.Name;


            db.SaveChanges();
            return model;
        }

    }

这是我的控制器,它的功能是仅验证模型状态。

    [HttpPost]
    public ActionResult Edit(EditViewModel model)
    {


        if (!ModelState.IsValid)
        {
            return View(model);
        }

        return RedirectToAction("Index");
    }

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我的不好,验证根本没有意义。

 [HttpPost]
    public ActionResult Edit(EditViewModel model)
    {

        if (!ModelState.IsValid)
        {
            return View(model);
        }
        else
        {
            WorkerServices.PostEditViewModel(model);
            return RedirectToAction("Index");
        }