Я использую ASP.NET, MVC3, Razor. На моем сайте у меня есть форма входа на все страницы (в верхнем заголовке), откуда пользователь может войти в систему в любое время. Проблема возникает, когда приходит другая страница с другой формой. Я не могу понять, как это реализовать. Я много пробовал, но я думаю, что мне нужен очень маленький пример для решения моей проблемы. Пример может быть таким же простым, как форма регистрации и форма входа в систему на одной странице, и они работают отдельно, все их проверки и другие материалы. Форма входа и форма регистрации могут быть частичными или любыми, что может предложить кто-либо, который можно использовать повторно.ASP.NET MVC 3 Razor - Регистрация и форма входа на ту же страницу/вид
Вот код _Register.cshtml (общий вид)
@model MVCRnD.Models.RegisterModel
@using (Html.BeginForm("Register","Account")) {
}
код для about.cshtml, на которых выше общий вид был помещен
@Html.Partial("_Register")
Код для контроллера счета
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Партия l вид, то есть форма регистрации отличная. Но когда я нажимаю кнопку «Отправить», он публикует всю форму, но забирает меня в регистр/учетную запись/регистр, который на самом деле правильный. Но я хочу быть на одной странице и не переходить к другой форме. Вы хотите, чтобы я отправил полный код? Я могу загрузить его где-нибудь и отправить вам ссылку.
Взгляните на мой ответ здесь: [Вход и регистрация формы на той же странице] [1] [1 ]: http://stackoverflow.com/a/17860676/1791760 – Lars