MVC-5 编辑值后,不会在其他视图中显示结果

本文关键字:视图 其他 显示 结果 编辑 MVC-5 | 更新日期: 2023-09-27 18:37:12

嗨,我是新来的,英语不是我的第一语言,所以请原谅我的任何语法或拼写错误。

我目前遇到的问题是当我编辑一个对象并尝试在其他视图中显示值时。我已经检查了该对象是否已保存在数据库中,但是当我尝试在和其他视图中显示其值时,它不会更新。我必须打开和关闭要更新的应用程序。

这是控制器代码

Edit(int? id)
{
    ...
    Teacher teacher = db.Teacher.Find(id);
    return View(model);
}
[HttpPost]
Edit(Teacher teacher)
{
    var _teacher = db.Teacher.Find(teacher.id);
    db.Entry(_teacher ).CurrentValues.SetValues(Teacher);
    db.SaveChanges();
    return redirecToAction("DisplayStudent", new {id=Teacher.studentId});
}
DisplayStudent(int? id)
{
    var student = db.Studen.Find(id);
    ViewBag.Teachers = db.Teacher.Where(model => model.studentId ==id).ToList();
    return View(student);
}

这个观点

@model Student
@{
    List<Teacher> Teachers = (List<Model>)ViewBag.Teachers;
}
....
@foreach(var teacher in Teachers)
{
    <p>@teacher.name<p>
    <p>@teacher.lastName<p>
}

MVC-5 编辑值后,不会在其他视图中显示结果

我已经

解决了问题,数据库没有更新。

我所做的只是放在DisplayStudent(int? id)中

DisplayStudent(int? id)
{
    db.dispose();
    db = new dbEntities();
    var student = db.Studen.Find(id);
    ViewBag.Teachers = db.Teacher.Where(model => model.studentId ==id).ToList();
    return View(student);
}