确保在控制器中为它们赋值。
例如,在控制器中为ViewBag和ViewData赋值:
public IActionResult Index()
{
ViewBag.Title = "首页";
ViewData["Message"] = "欢迎光临我的网站!";
return View();
}
而对于TempData,它的生命周期比较短暂,只能在重定向之间传递。在控制器的动作方法中设置TempData变量:
public IActionResult MyAction()
{
TempData["Message"] = "已成功执行动作!";
return RedirectToAction("Index");
}
然后,在目标动作方法中读取TempData:
public IActionResult Index()
{
ViewData["Message"] = TempData["Message"] as string;
return View();
}
注意,在读取TempData时需要进行类型转换,并且每次读取后会自动删除TempData。