更新未在我的编辑视图中反映在数据库中

时间:2015-11-18 10:46:31

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我之前的编辑视图存在错误问题。这已从此post

解决

现在我需要从我的MVC视图进行更新。更新似乎没有提交到数据库,因为在进行更新时不会反映更改。以下是我的更新ActionResult:

Location: (city, country, district, street, flat number, floor, landmark)

以及相应的观点:

    [HttpGet]
    public ActionResult Update()
    {
        EditGameVM model = new EditGameVM();
        return View(model);
    }

    [HttpPost]
    public ActionResult Update(EditGameVM model)
    {
        try { 
            game objGame = new game
            {
                gameID = model.gameID,
                gameName = model.gameName,
                description = model.description,
                gameRule = model.gameRule,
                gamePicture = model.gamePicture.ToString()
            };            
            objBs.gameBs.Update(objGame);
            TempData["Msg"] = "Created Successfully!";
            return RedirectToAction("Edit");
        }
        catch (DbEntityValidationException dbEx)
        {
          ...
        }
    }

1 个答案:

答案 0 :(得分:0)

最初我在我的BLL中有这个代码,Save方法没有包含在我的存储库模式的Update方法中。

命名空间BLL {     公共类GameDB     {         私人TBCDBEntities db;

    public GameDB()
    {
        db = new TBCDBEntities();
    }

    public void Update(game g)
    {
        db.Entry(g).State = EntityState.Modified;            
    }

    public void Save()
    {
        db.SaveChanges();
    }

所以我把它包括在内:

    public void Update(game g)
    {
        db.Entry(g).State = EntityState.Modified; 
        Save();           
    }

    public void Save()
    {
        db.SaveChanges();
    }

它就像一个魅力!谢谢https://stackoverflow.com/users/1666620/user1666620