【发布时间】:2010-09-25 10:06:20
【问题描述】:
今天我有一些有趣的观察,我需要解释一下。我的Person 类如上所述:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
现在在我的 MVC2 应用程序中,我有了带有以下编辑方法的 PersonController:
public ActionResult Edit(int id)
{
var permission = _service.GetPerson(id);
return View(person);
}
[HttpPost]
public ActionResult Edit(Person person)
{
if (ModelState.IsValid)
{
_service.UpdatePerson(permission);
return RedirectToAction("Index");
}
return View(person);
}
现在在我的Edit.aspx 视图上,我的表单只包含名字和姓氏,但是当我在控制器中完成帖子时让我感到惊讶的是,Person 对象的 ID 设置正确(这不是表单的一部分)。
现在我猜它是从 id 参数的 rout 值中获取的,即发送到我的操作地址中,但它保存了吗?我的意思是.. id不用加隐藏字段就好了,但是在mvc2中混用get和post参数有什么危险吗?
还有一个问题。如果我确实隐藏了id怎么办。然后它会以两种方式发送(get 和 post),那么.. 将使用哪个 id?
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-2 action