在我的编辑操作方法中,我想保存我在调用编辑操作时所做的所有更改。但我想我想念一些人。这就是我想要的。
[HttpPost]
public ActionResult Edit(Person editPerson)
{
if (ModelState.IsValid)
{
// may be here I want to add soething
return RedirectToAction("Index");
}
else
{
return View(editPerson);
}
}
答案 0 :(得分:0)
你用什么来保存Person对象?您使用的是Entity Framework还是普通的sql?我推测,因为你正在使用MVC3,你正在使用Entity Framework。如果我看到您的方法,您很可能正在尝试创建一个人,然后编辑一个。如果您正在编辑您的方法,通常会看起来像public ActionResult Edit(int id, Person editPerson)
在那种情况下
using(SomeContext db = new SomeContext())
{
db.Persons.Add(editPerson);
db.SaveChanges();
}
如果编辑
using(SomeContext db = new SomeContext())
{
Person person = db.Persons.Find(id);
// Update your fields
db.SaveChanges();
}
答案 1 :(得分:0)
因为有多种方式可以与后备存储进行交互,所以我们需要有关您如何操作的更多信息(实体框架,LINQ to SQL等)。如果你还没有查看过,你应该从着名的Exploring Different Database Options上的Nerd Dinner Tutorial上阅读Scott Hanselman的博客。这应该引导你朝着正确的方向前进。 (另外,如果您还没有玩过Nerd Dinner,我强烈建议这样做,这是对MVC及其周围各种技术的精彩介绍。)