在使用TempData属性的代码中,需要显式地调用SaveChanges()方法以将值保存到会话中。示例代码:
public IActionResult Index() { TempData["myKey"] = "myValue"; TempData.Save(); // 显式地调用Save方法 return View(); }
然后在接收控制器中获取值:
public IActionResult AnotherAction() { var myValue = TempData["myKey"]; // 此时获取到的值不为空 return View(); }
这样做的原因是TempData属性的值只存在于当前请求和下一个请求之间的会话中,而Save方法确保在当前请求结束时将值保存到会话中以便下一个请求使用。