Как метод UpdateModel заполнить значения FormCollection для нашего экземпляра? - PullRequest
1 голос
/ 04 июля 2010

В этом примере, как метод UpdateModel заполняет экземпляр лица formValues?Я думаю, что UpdateModel использует отражение при заполнении лица formValues, но как updatemodel ловит параметр formValues?

[HttpPost]
public ActionResult Edit(int ID,FormCollection formValues)
{
     Person person= db.PersonSet.Single(p => p.PersonID == ID);
     UpdateModel(person);
     db.SaveChanges();
     return RedirectToAction("Details", new { ID = person.PersonID });

}

Ответы [ 2 ]

0 голосов
/ 04 июля 2010

Я думаю, что он использует что-то вроде этого:

var fc = new FormCollection(Controller.Request.Form);

http://msdn.microsoft.com/en-us/library/system.web.httprequestbase.form.aspx

http://msdn.microsoft.com/en-us/library/system.web.mvc.controller_members.aspx

http://msdn.microsoft.com/en-us/library/dd492288.aspx

0 голосов
/ 04 июля 2010

Я не думаю, что это так, гораздо проще получить коллекцию форм из текущего контекста.

Если метод UpdateModel получит параметр, отправленный методу, вызывающему его, ему потребуется получить дамп стека и покопаться, чтобы найти параметры. Кроме того, это не будет очевидным способом получения данных.

...