在ASP.NET MVC 3中编辑操作

时间:2011-05-23 12:59:44

标签: asp.net-mvc-3

在我的编辑操作方法中,我想保存我在调用编辑操作时所做的所有更改。但我想我想念一些人。这就是我想要的。

[HttpPost]
        public ActionResult Edit(Person editPerson)
        {
            if (ModelState.IsValid)
            {

                // may be here I want to add soething
                return RedirectToAction("Index");
            }
            else
            {
                return View(editPerson);
            }
        }

2 个答案:

答案 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及其周围各种技术的精彩介绍。)