需要在服务器上存储客户端的一些auth信息,以便在2页之间共享。 不管怎样,会话,cookie,tempdata,我尝试了一切,没有任何作用,例如:
public ActionResult CheckIn(string pass)
{
if (System.Configuration.ConfigurationManager.AppSettings["pass"] == pass)
{
HttpContext.Session.Add("admin", "yes");
}
return View();
}
public ActionResult Helper() {
if (HttpContext.Session["admin"] != null)
{
if (HttpContext.Session["admin"].ToString() == "yes")
return PartialView("InitConfig");
else
return PartialView("StationLogics");
}
else
return PartialView("StationLogics");
}
并且我在helper方法中的会话中始终为null。我做错了什么?
答案 0 :(得分:1)
您是否尝试过HttpContext.Current.Session
?
PS。你这样做实际上不是很好,你应该在你的申请中重新考虑它。
答案 1 :(得分:0)
您确定满足所有if
条件吗?尝试一个简单的例子:
public ActionResult CheckIn()
{
Session["foo"] = "bar";
return View();
}
public ActionResult Helper()
{
var foo = Session["foo"];
if (foo == null)
{
// this won't be null if you called the CheckIn method first
}
return View();
}
首先调用CheckIn
操作以在会话中存储值,然后调用Helper
操作。除非您在浏览器中禁用了此ASP.NET应用程序或cookie的会话,否则您应该获得正确的值。