当人们在我的 ASP.NET MVC 网站上注册时,我会通过电子邮件发送一个激活链接,以便他们可以激活他们的帐户并登录。我想在注册成功并发送电子邮件时显示一条消息。为此,我重定向到另一个页面。
当人们直接访问此 URL 时,我不想显示此页面,因为它不是普通页面。我使用 TempData 检查它们是否来自注册页面。
public ActionResult Register()
{
AccountRegisterView accountView = InitializeAccountRegisterViewWithIssue(false, "");
return View(accountView);
}
[HttpPost]
public ActionResult Register(AccountRegisterView accountView)
{
if (!ModelState.IsValid)
{
return View(accountView);
}
// Register user and send activation link via email...
TempData["success"] = true;
return RedirectToAction("RegisterEmail");
}
public ActionResult RegisterEmail()
{
if (TempData["success"] != null)
{
return View();
}
return RedirectToAction("Login");
}
我想知道这是否被认为是最佳做法。或者我应该这样做吗?