私はアカウント管理コントローラを書き込み、別に自分のユーザーのアカウントの削除を処理しなければならないのです。クリアサインアウト後のRequest.IsAuthenticated値()()
[Authorize]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Delete(string userName, string confirmButton)
{
MembershipService.DeleteUser(userName);
if (User.Identity.Name.Equals(userName,
StringComparison.InvariantCultureIgnoreCase))
{
FormsAuth.SignOut();
return View("DeleteSelf");
}
else
return RedirectToAction("Index");
}
しかし、部分ビューLogOnUserControl.ascxはまだだけを示しRequest.IsAuthenticatedおよびPage.User.Identityの値はFormsAuth.SignOut()の後に設定されているため、DeleteSelfビューを表示している間にユーザー名がログアウトされます。
...
{
FormsAuth.SignOut();
return RedirectToAction("ShowDeleteSelfMessage");
}
...
public ActionResult ShowDeleteSelfMessage()
{
return View("DeleteSelf");
}
他のアイデア:
新しいアクションShowDeleteSelfMessageが問題を解決することができますが、私はこのソリューションを好きではないの追加?ありがとうございました!代わりにreturn View("DeleteSelf")
のDelete
アクションで
(「DeleteSelf ") –
あなたのOPとそれほど違いはありません、それは返信View(" DeleteSelf ")ですか? –
残念ながら同じです。しかし、今私は、ビューを表示するための別個のアクションを追加することが共通のパターンであると考えています。 –