我想在我的控制器中添加一个会话变量并在我的视图中访问它,控制器看起来像这样..
public ActionResult GetData()
{
var data = Repository.GetChartData(DateTime.Now.AddDays(-30), DateTime.Now);
Session["TheDate"] = DateTime.Now.ToShortDateString();
return Json(data, JsonRequestBehavior.AllowGet);
}
但在我看来,使用这个@Session [" TheDate"]时没有显示任何内容,我该怎么做才能使这个工作?
答案 0 :(得分:0)
这里的问题似乎是您正在通过AJAX访问JSON数据。您没有在服务器上呈现视图。
使用razor语法@Session["TheDate"]
访问会话仅适用于服务器端(在呈现View期间)。您无法从客户端访问此内容(例如,在AJAX请求的success
回调中)。
也许您可以将日期作为JSON对象的一部分传输到客户端?
{
"TheDate": "2017-02-15",
"Data": data
}
答案 1 :(得分:0)
我最终在我的javascript代码中使用了JSON响应,以便访问JSON响应。但我仍然认为会话变量不起作用很奇怪......