Это текущий рабочий процесс моего приложения для регистрации пользователей.
- регистрационная форма (GET / регистрация)
- отправить форму (POST / регистрация)
- после успеха перенаправить маршрут на "/ registerSuccess"
- В представлении (GET / registerSuccess) я хочу показать сообщение типа « имя пользователя успешно зарегистрировано».
Действия контроллера:
public ActionResult Register()
{
return View();
}
[HttpPost]
public ActionResult Register(string name, string password, string confirmPassword)
{
TempData["registered_user"] = name;
return RedirectToRoute("RegisterSuccess");
}
public ActionResult RegisterSuccess()
{
return View();
}
RegisterSuccess View
<h2><%: TempData["registered_user"] %> has been registered successfully.</h2>
Работает нормально, кроме имя пользователя пусто, когда пользователь обновляет страницу (GET /registerSuccess).
Это нормальное поведение в других приложениях? или мне что то с этим делать? :) ( Это мой любимый проект и от меня исходят требования: P )
обновление: На самом деле, есть еще один шаг, который зарегистрированный пользователь требует одобрения администратора. Поэтому я не могу позволить пользователю войти в систему после успешной регистрации. В настоящее время я использую основанную на cookie FormsAuthentication для отслеживания вошедшего в систему пользователя.
Я предпочитаю использовать шаблон PRG вместо отображения флеш-сообщения в форме отправки.