public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
// 其他属性
}
// 更新当前行
[HttpPost]
public ActionResult UpdateStudent(Student student)
{
using (var db = new DbContext())
{
db.Entry(student).State = EntityState.Modified;
db.SaveChanges();
}
return RedirectToAction("List");
}
// 添加新记录
[HttpPost]
public ActionResult AddStudent(Student student)
{
using (var db = new DbContext())
{
db.Entry(student).State = EntityState.Added;
db.SaveChanges();
}
return RedirectToAction("List");
}
@model Student
@using (Html.BeginForm("UpdateStudent", "Student", FormMethod.Post))
{
@Html.HiddenFor(model => model.Id)
@Html.TextBoxFor(model => model.Name)
@Html.TextBoxFor(model => model.Age)
}
@using (Html.BeginForm("AddStudent", "Student", FormMethod.Post))
{
@Html.TextBoxFor(model => model.Name)
@Html.TextBoxFor(model => model.Age)
}
通过表单提交,可以将输入的数据封装成Student对象传递给Controller中的方法,从而更新当前行或者添加新记录。