2016-07-26 4 views
-3

私はActionResult MyData()を持っています。この中で私はブール値を与えるViewData ["test"]を持っています。今度は、別のActionResult MyData2()にリダイレクトされると、値が消去されます。 いくつかの制約のためにTempDataを使用することはできません。1つのActionResultから他のActionResultにViewDataの値を取得する方法

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()); 
} 
関連する問題