mvc4アプリでログインと登録タスクを管理するための単一のページを作成します。登録を使用してユーザーを作成し、登録が失敗した場合(パスワードの不一致など)、ページはエラーを処理して更新しますが、登録のrenderaction部分に完全なページを挿入します。
一方、ログインに失敗した場合(ユーザーが存在しない場合)、ページは更新されますが、レイアウト全体ではなく、renderactionログイン部分のみを表示するページにユーザーを誘導します。
手順:モデルを作成しました
public class Access
{
public LoginModel LoginModel { get; set; }
public RegisterModel RegisterModel { get; set; }
}
次に、ページを作成します。
<div class="main-content" style="min-height: 700px;">
<!-- Login form -->
@{ Html.RenderAction("Login", "Account"); }
<!-- Register form -->
@{ Html.RenderAction("Register", "Account"); }
<div class="clear"></div>
</div>
コントローラは、mvc4テンプレートで提供される典型的なものです。ログインの例
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return PartialView(model);
}