передача данных формы в контроллер mvc3 - PullRequest
3 голосов
/ 14 июня 2011

Я новичок в .net MVC3, так что извините за мое невежество.У меня относительно большая форма (много полей), и мне просто интересно, действительно ли мне нужно ссылаться на каждое из моих полей в качестве аргументов для моего метода действия на сервере или можно ли передать их все как-тоof collection, а затем ссылайтесь на коллекцию, чтобы получить значения.

Если это возможно, кто-нибудь может привести краткий пример того, как?

Ответы [ 2 ]

4 голосов
/ 14 июня 2011

Самый короткий пример, который я могу придумать ...

Просмотр модели:

public class ViewModel
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

Просмотр:

<%: Html.EditorForModel() %>

Контроллер

[HttpGet]
public ActionResult Person()
{
     return View(new ViewModel());
}
[HttpPost]
public ActionResult Person(ViewModel formData)
{
     // formData is bound already -- just use it!
}
0 голосов
/ 14 июня 2011

Вы можете передать все данные в контроллер как пользовательский тип.

public ActionResult MyControllerMethod(MyCustomType formData)

Если вы строго введете представление, вы сможете отобразить поля формы с помощью HtmlHelper, например:

<%= Html.TextBoxFor(m => m.FirstName) %>

Этот идентификатор полей формы, который используется для связи поля формы со свойством модели, уже будет установлен для вас.

...