переменная post в mvc asp.net для контроллера - PullRequest
3 голосов
/ 23 марта 2010

Я пришел из языка PHP (codeigniter), но теперь я изучаю ASP.Net MVC:)

В PHP codeigniter мы можем легко поймать переменную post с помощью

$this->input->post("theinput");

Я знаючто в ASP.Net MVC мы можем создать метод действия, который будет принимать переменную из запроса post, например:

public  ActionResult Edit(string  theinput)

или

public ActionResult Edit(FormCollection formCol)

Есть ли способ перехватить переменную post вASP.Net, как PHP codeigniter, так что нам не нужно ни писать объект FormCollection, ни записывать параметр в методе действия (потому что он может стать очень загруженным, если мы передадим в него много переменных)

Isесть простой метод получения из ASP.Net для перехвата этих переменных?

отредактировано: я был бы очень благодарен, если бы вы могли дать мне ссылку на эти учебные пособия: D

Ответы [ 2 ]

3 голосов
/ 23 марта 2010

Обычно вы не хотите использовать FormCollection или Request.Form в своем коде. Эти объекты очень трудно смоделировать, что делает автоматизированное тестирование очень трудным.

Рекомендуется создать класс viewmodel со всеми необходимыми входными данными в качестве свойств и использовать этот класс в качестве входных данных для действия контроллера.

3 голосов
/ 23 марта 2010

Да.

Request.Form["theinput"]

Однако лучший способ сделать это - создать класс модели, содержащий свойства для каждой переменной, к которой вы хотите получить доступ, а затем заставить ваше действие принять экземпляр этого класса какпараметр.

...