会话变量不会显示在mvc视图中

时间:2017-02-15 11:09:58

标签: asp.net-mvc session-variables

我想在我的控制器中添加一个会话变量并在我的视图中访问它,控制器看起来像这样..

        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"]时没有显示任何内容,我该怎么做才能使这个工作?

2 个答案:

答案 0 :(得分:0)

这里的问题似乎是您正在通过AJAX访问JSON数据。您没有在服务器上呈现视图。

使用razor语法@Session["TheDate"]访问会话仅适用于服务器端(在呈现View期间)。您无法从客户端访问此内容(例如,在AJAX请求的success回调中)。

也许您可以将日期作为JSON对象的一部分传输到客户端?

{
    "TheDate": "2017-02-15",
    "Data": data
}

答案 1 :(得分:0)

我最终在我的javascript代码中使用了JSON响应,以便访问JSON响应。但我仍然认为会话变量不起作用很奇怪......