控制器如何从POST提交的表单中接收数据

时间:2014-11-25 18:50:27

标签: c# asp.net asp.net-mvc forms

有时候一直困扰着我。我可以看到很多示例,其中操作以多种不同方式从View(POST发送的数据)读取数据。特别是在本主题on handling multiple submit buttons中,例如:

从视图中读取模型:

public ActionResult Edit(Model model)
{
}

或仅ID然后TryUpdateModel以某种方式知道要更新的内容

public ActionResult Edit(int? PropertyID)
{
    //...
    Model modelToEdit = dbContext.Objects.Find(PropertyID);
    if(TryUpdateModel(modelToEdit)
    {
    }
}

有时程序员会从submit按钮读取字符串,我猜:

public ActionResult Edit(string button1, string button2 /*, ... */)
{
}

或在控制器中接收字符串和模型

public ActionResult Edit(string button1, Model model)
{
}

控制器如何“知道”该ID是必须使用的ID等等。如果有人可以解释View和控制器之间究竟发生了什么,我将不胜感激。这就像模型是为我们发送的,这取决于我们如何接收它!
另一个问题是为什么一些程序员只读ID而其他程序员读整个对象等。

0 个答案:

没有答案