我是MVC的新手,我需要这样做:
直到4我好,但我的动作过滤器上有下一个代码:
filterContext.HttpContext.Items["errorMsg"] = Resources.Account.Res_String.SessionDuplica; //error msg and flag
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(new
{
controller = "Account",
action = "LogOff"
}));
然后在AccountController上 - > LogOff我有这个:
FormsAuthentication.SignOut();
if (HttpContext.Items["errorMsg"] == null)//normal logOff?
{
return RedirectToAction("LogOn", "Account");
}
else//induced logOff
{
ViewBag.error = HttpContext.Items["errorMsg"];
return View();//LogOff view
}
但是如果(HttpContext.Items [“errorMsg”] == null =总是如此
知道为什么?或另一种方法吗?
我只需要将动作过滤器中的字符串发送到重定向的方法
答案 0 :(得分:0)
获取可用于组织和共享的键/值集合 IHttpModule接口和IHttpHandler接口之间的数据 在HTTP请求期间。
项目仅适用于单个请求,您需要一个会话变量来解决此案例。