MVC C#的TempData(MVC C# TempData)

2019-06-24 05:15发布

可有人请解释的TempData的MVC的目的。 我理解它像ViewBag但它有什么作用不止于此。

Answer 1:

TempData的意思是一个非常短暂的情况下,你应该只在当前,只有后续请求使用它! 由于TempData的这种方式工作,你需要确切知道下一个请求将是什么,并重定向到另一个观点是,你能保证这唯一的一次。 因此,在使用TempData的将可靠地工作的唯一情况是,当你重定向。 这是因为重定向杀死当前请求(并发送HTTP状态代码302物件移动到客户端),则在服务器上创建一个新的请求,以服务重定向视图。 在前面的HomeController中的代码示例回首意味着该TempData的对象可能会产生不同的结果比预期的,因为下一个请求源无法得到保证。 例如,下一个请求可以从一个完全不同的机器和浏览器实例发起。

http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications



Answer 2:

ViewBag

允许您创建动态属性

控制器与视图之间传递数据

调节器

ViewBag.Name= "Lion";

视图

<div>
  <h4>@ViewBag.Name</h4>
 </div>

TempData的

TempData的意思是一个非常短暂的实例

你只应该在目前,只有后续请求使用

TempData的字典用于共享控制器动作之间的数据

TempData["Name"] = "Lion";

我已经写了博客文章大约this.Check该如何正确地使用Asp.Net MVC TempData的?



Answer 3:

TempData的是从TempDataDictionary类派生并存储在短的生活会话的字典对象。

public TempDataDictionary TempData { get; set; }

它是ControllerBase class.It的属性用于从当前请求到后续请求传递数据(装置从一个页面重定向到另一个)。 它的寿命很短,只在于,直到目标视图满载。 它需要的类型转换获取数据,并检查空值,以避免error.It用于存储只有一次类似的消息的错误消息,验证消息。



文章来源: MVC C# TempData