【发布时间】:2012-03-10 09:48:09
【问题描述】:
我有一个控制器方法CreateOrUpdate,这个方法应该把汽车保存到数据库然后正常返回。
public ActionResult CreateOrUpdate(int ID = 0)
{
Car car = new Car(ID);
}
[HttpPost]
public ActionResult CreateOrUpdate(Car car)
{
car.Save();
return View(car);
}
在 theCar.Save() 方法中,我为汽车设置了 ID,无论汽车保存后数据库中的 ID 是什么(当我使用 SCOPE_IDENTITY() 进行插入时,保存方法效果很好,如果我在调用 Save() 后调试并观察 car 的值,则 id 是正确的。但是当视图呈现时,视图中的 ID 为 0。
谁能帮助我,告诉我为什么会发生这种情况。我不打算在 HTTP POST 方法中更改视图的模型吗?如果保存成功,我是否应该重定向到原始的 CreateOrUpdate() 方法。
【问题讨论】:
-
尝试不使用
theCar.Save();行。 -
theCar.Save() 只保存模型。这不是问题。即使我在 HttpPost 方法中设置了类的属性,也没有 theCar.Save() 方法。该属性未反映在视图中
-
仅供参考:如果您已成功保存数据并希望重新显示页面,则可能需要遵循 Post/Redirect/Get 模式。 en.wikipedia.org/wiki/Post/Redirect/Get
标签: c# asp.net-mvc-3 http-post