我正在尝试保留/保护视图模型中的某些字段

时间:2012-09-28 01:32:47

标签: c# asp.net-mvc

我尝试实施解决方案found here,但是一旦我更换了我的"用户"使用" EditUserViewModel" class(字段少于Users类的字段)和一旦到达此行

db.Entry(users).State = EntityState.Modified;

在此代码中

    [HttpPost]
    public ActionResult Edit(EditUserViewModel users)
    {
        if (ModelState.IsValid)
        {
            db.Entry(users).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(users);
    }

我收到错误

The entity type EditUserViewModel is not part of the model for the current context.

现在我猜这个错误是因为我的DBContext使用Users类而不是EditUserViewModel类。我错过了一步还是有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要将MV中的数据合并到Model类中。

if (ModelState.IsValid)
{
    var existingUser = db.Users.Single(p => /* query to find your user */);

    existingUser.From = user.From;
    existingUser.CC = user.CC;
    // etc.

    db.SaveChanges();

    return RedirectToAction("Index");
}