1

TempData を使用してログイン ユーザー ロールを保存していますが、ユーザーがログインして F5 キーを押してページをリロードすると、次のエラーが表示されます。Object reference not set to an instance of an object

ページのリダイレクトが必要なため、TempData を使用します。ユーザーはそれを送信する前にログイン フォームに入力します。投稿されたデータを取得する方法がわかりません。ロールが の場合はユーザーを管理ページにリダイレクトする必要があるためadministratorです。standardnormal user

    private bool IsAdmin(string username)
    {
        return (Roles.GetRolesForUser(username).ToList().Contains("administrator"));
    }

    public ActionResult AdminLayout() 
    {            
        if(IsAdmin(TempData["LoginUsername"].ToString())) //Error TempDate on Reload
        {
             return View();
        } 
        else
        {
             return Index();
        }
    }
4

1 に答える 1

3

セッション変数に保存してみませんか?名前が示すように、TempDataは一時的なものであり、セッション変数はデータをより長く保持します。

于 2013-02-16T22:45:59.107 に答える