请问TempData在MVC中的作用是什么?我知道它的行为类似于ViewBag,但除此之外它还能做些什么呢?
ViewBag
允许您创建动态属性
在控制器和视图之间传递数据
控制器
ViewBag.Name= "Lion";
视图
<div>
<h4>@ViewBag.Name</h4>
</div>
TempData
TempData是一个非常短暂的实例。
只应在当前和随后的请求期间使用它。
TempData字典用于在控制器操作之间共享数据。
TempData["Name"] = "Lion";
TempData是一个字典对象,它派生自TempDataDictionary类并存储在短暂的会话中。
public TempDataDictionary TempData { get; set; }
它是ControllerBase类的一个属性。它用于将数据从当前请求传递到后续请求(即从一个页面重定向到另一个页面)。 它的生命周期非常短,仅在目标视图完全加载时存在。 获取数据需要进行强制类型转换并检查空值以避免错误。它仅用于存储一次性消息,例如错误消息、验证消息。