私は本のコードでASP.net MVC5を学んでいます。Asp.Net mvc 5 tempdataが動作しません
public ActionResult DemoTempData()
{
ViewData["Msg1"] = "From ViewData Message.";
ViewBag.Msg2 = "From ViewBag Message.";
TempData["Msg3"] = "From TempData Message.";
return RedirectToAction("Redirect1");
}
public ActionResult Redirect1()
{
TempData["Msg4"] = TempData["Msg3"];
return RedirectToAction("GetRedirectData");
}
public ActionResult GetRedirectData()
{
return View();
}
GetRedirectData
ビュー:
@{
ViewBag.Title = "GetRedirectData";
}
<h2>GetRedirectData</h2>
<ul>
<li>ViewData-Msg1:@ViewData["Msg1"]</li>
<li>ViewBag-Msg2:@ViewBag.Msg2</li>
<li>TempData-Msg3:@TempData["Msg3"]</li>
<li>TempData-Msg4:@TempData["Msg4"]</li>
</ul>
私はViewData
とViewBag
が値を渡さないことを知っています。 Msg3
とMsg4
には値が必要ですが、表示されません。 Redirect1()
の値を確認すると、Msg3
はnull
であることがわかります。
私は何が起こっているかと非常に混同しています。
'@TempData [」提供されていますMsg3 "]'には値はありません( 'TempData'は1つの要求だけ持続します)。しかし、 '@TempData [" Msg4 "]'は値を持っているはずです - あなたもそれが 'null'ですか? –