0

我试图在授权失败的情况下使用 TempData 记录一个布尔值,但是每当我尝试实际访问它时,它仍然显示为 null。我的代码是这样的:

    public ActionResult Index()
    {
        return View();
    }

    public ActionResult FailedAuth()
    {
        TempData["failed"] = true;
        return RedirectToAction("Index", "Index");
    }

我使用来自授权属性的 FailedAuth 操作,但在重定向 TempData 后仍然为空,即使我使用 TempData.Keep() 也是如此。我也尝试过使用 Session,但无济于事。我只是想在页面上显示一条错误消息以指示授权失败,有没有办法让它工作?还是另一种方式来做到这一点?谢谢

*编辑:因此,跟踪每个步骤,我看到 tempdata 在 failedauth 中已正确设置,然后返回到使用 filterContext.Result = (new IndexController()).FailedAuth(); 在 authorize 属性中调用它的位置;然后 aftwards 返回控制器并运行 index() 方法,其中 tempdata 现在为空。

4

0 回答 0