2016-07-26 75 views
-3

我有一個ActionResult MyData()。在這我有一個ViewData [「測試」],它給了我一個布爾值。現在,當重定向到另一個ActionResult MyData2()時,該值將被清除。 由於某些限制,我無法使用TempData。如何從一個ActionResult獲取ViewData的值到其他ActionResult

public ActionResult MyData() 
{ 
    ViewData["test"] = ??? // returns true value after some calculations.     
} 

public ActionResult MyData2() 
{ 
    ViewData["test"] //is coming null.         
} 
+0

使用'會話[ 「測試」]'' –

+0

ViewData'爲控制器方法及其視圖之間傳遞數據(它不能用於在方法之間傳遞數據)。您需要在某處保存數據。 –

+0

使用會話有其自身的限制,如果每次創建新會話時都需要在同一時間登錄成千上萬的用戶,這需要終止或處理。我不想這樣做。你能否以更好的方法幫助我? – user3106445

回答

1

可以嘗試使用RedirectToAction方法與參數:

public ActionResult MyData() 
{ 
    var data = true; 
    return RedirectToAction("MyData2", new { foo = data }); 
} 

public ActionResult MyData2(bool foo) 
{ 
    var data = foo; 
    return Content(data.ToString()); 
}