Многоцелевая форма входа / регистрации MVC3 - PullRequest
0 голосов
/ 29 ноября 2011

Я ищу расширяемую реализацию формы входа / регистрации двойного назначения, написанной для MSofts MVC3.

Это немного сложно, так как у обоих разные требования к валидации.

Некоторые подробности в ответ на комментарии:

  • Двойная цель: форма должна использоваться как для входа, так и для регистрации.
  • Вероятно, самая сложная часть - это проверка, и я был бы удивлен, если бы решение не использовало специальный код проверки для правильной работы
  • Расширяемый, так что я могу использовать свои собственные поля, а не некоторые жестко заданные фиксированные. Я нашел некоторые решения, в которых их расширение было такого же порядка, как и с нуля

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Это не сложная проблема.Вы просто создаете две разные формы в представлении: одну для публикации в вашем методе регистрации и другую для вашего метода входа в систему.Поскольку каждая форма отправляет свой метод действия, они используют разные модели и, следовательно, разные проверки.

Пример:

@using LoginRegisterModel
...
@using (Html.BeginForm("Register", "Account")) {
    ... Your Register form
    <input type="submit"/>
}

@using (html.BeginForm("Login", "Account")) {
    ... Your login form
    <input type="submit"/>
}

В вашем контроллере:

[HttpPost]
public ActionResult Register(RegisterModel model) {
    // do your registration
}

[HttpPost]
public ActionResult Login(LoginModel model) {
    // do your login
}

В ваших моделях:

public LoginRegisterModel {
     public LoginModel {get; set;}
     public RegisterModel {get; set;}
}

Зачастую проще поместить каждую форму в частичное представление, тогда вы можете передать только соответствующую модель в частичное представление.

0 голосов
/ 29 ноября 2011

Итак, возьмите код по умолчанию как из формы регистрации, так и из формы регистрации, найденной в готовом приложении MVC, и поместите их в новое представление под названием «dualPurposeLoginSignup» и используйте его в качестве страницы входа. Как только вы это сделаете, у вас должно получиться то, что вы ищете.

Удачи в вашем проекте.

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