Это приложение asp.net, которое использует MVC 2.0 artcitecture - PullRequest
0 голосов
/ 29 января 2012

В настоящее время я работаю над приложениями asp.net MVC-2.Я столкнулся с проблемой, как получить данные формы регистрации в классе контроллера.Есть решение, что мы можем использовать объект FormCollection, но как получить значения отдельных полей.

Может кто-нибудь помочь?

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Самый простой способ обработки объявленных значений - это FormCollection объект, который вы упомянули.Вы можете обращаться к нему как к массиву:

public ActionResult YourAction(FormCollection form)
{
    // assuming a form element posted with the name, "user"
    var user = FormCollection["user"];
    return View();
}

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

Итак, ваш класс модели представления может выглядеть следующим образом:

public class UserFormViewModel
{
    public string Username { get; set; }
    public int Age { get; set; }
}

Если ваша HTML-форма содержит два ввода с их name атрибуты установлены в Username и Age, тогда действие вашего контроллера можно изменить, чтобы использовать только что описанную модель представления строго типов:

public ActionResult UserForm(UserFormViewModel vm)
{
    string username = vm.Username;
    int age = vm.Age;

    // persist to database, etc
    return View();
}
0 голосов
/ 29 января 2012

Перейдите и загрузите следующий проект. Есть бесплатный документ в формате PDF. Проработайте весь образец. Это поможет вам понять все основы, которые вам нужно знать о asp.net mvc framework

Музыкальный магазин Mvc

А также, если вы создаете проект MVC по умолчанию в Visual Studio, он должен показать вам, как обрабатывать форму регистрации в действии «Регистрация».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...