2017-02-15 74 views
0

顯示我想在我的控制器中添加一個會話變量和訪問它在我看來,控制器這個樣子的..會話變量沒有在MVC視圖

 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

你使用ajax調用GetData()嗎? –

+0

是的,在一個JavaScript函數爲了填充圖表。 – MTplus

+0

你能分享ajax代碼嗎? (javascript函數) –

回答

0

這裏的問題似乎是你正在通過AJAX訪問JSON數據。您不在服務器上呈現視圖。

使用剃刀語法訪問會話@Session["TheDate"]僅在服務器端(在渲染視圖期間)起作用。您無法從客戶端訪問此內容(例如,在AJAX請求的success回調中)。

也許您可以將日期作爲JSON對象的一部分傳輸到客戶端?

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

我結束了在我的JavaScript代碼中使用JSON響應,而不是爲了訪問JSON響應。但我仍然認爲它奇怪的會話變量不起作用...