zoukankan      html  css  js  c++  java
  • MVC Tempdata,查看并保持混乱

    本博客假设您对MVC有一定的了解。如果没有,我建议从这个youtube视频开始学习MVC。 最近,我在孟买上MVC课程,我发现参与者对MVC tempdata, Peek和Keep的工作方式有很多困惑。我认为之所以产生这种混淆,是因为大多数MVC开发人员只知道一半的真相。 大多数MVC开发者知道的一半是: Tempdata帮助保存单个请求的值。 另一个开发者不知道的半真半假的事实是,或者我会说,让开发者困惑的是: “TempData还可以根据4个条件为下一个请求保留值”。 所以让我们试着去理解上面的两个表述。当终端用户向MVC应用程序发送一个请求时,“TempData”会在整个请求过程中得到维护。这个请求可以遍历多个操作或控制器,直到它在浏览器上显示视图。 现在在同一个会话中(没有关闭浏览器),如果一个新的/第二个请求被启动,那么“TempData”将根据4个条件被持久化: 不读正常读,读,偷看,读 因此,让我们更详细地讨论这四种情况(请参阅下面的图表以更好地理解): 条件1(未读):如果您在操作中设置了一个“TempData”,并且没有在视图中读取它,那么“TempData”将在下一次请求中被持久化。 条件2(正常读取):如果您像下面的代码一样正常读取“TempData”,那么在下一个请求中它将不会持久。 隐藏,复制Code

    stringstr = TempData["MyData"];

    即使你正在显示,它是一个正常的读像下面的代码: 隐藏,复制Code

    @TempData["MyData"];

    条件3(读取和保存):如果您读取“TempData”并调用“Keep”方法,那么它将被持久化。 隐藏,复制Code

    @TempData["MyData"];
    TempData.Keep("MyData");

    条件4 (Peek和Read):如果您通过使用“Peek”方法读取“TempData”,那么它将在下一次请求时持续存在。 隐藏,复制Code

    stringstr = TempData.Peek("Td").ToString();

    上图是我从http://stepbystepschools.net/?p=1810拍摄的 因此,如果您在头脑中记住了这四个条件,就不应该对TempData产生任何混淆:)。 下面是一个演示Tempdata, Keep和Peek的视频。 本文转载于:http://www.diyabc.com/frontweb/news1668.html

  • 相关阅读:
    Linnia学习记录
    漫漫考研路
    ENS的学习记录
    KnockoutJS 3.X API 第四章 数据绑定(4) 控制流with绑定
    KnockoutJS 3.X API 第四章 数据绑定(3) 控制流if绑定和ifnot绑定
    KnockoutJS 3.X API 第四章 数据绑定(2) 控制流foreach绑定
    KnockoutJS 3.X API 第四章 数据绑定(1) 文本及样式绑定
    KnockoutJS 3.X API 第三章 计算监控属性(5) 参考手册
    KnockoutJS 3.X API 第三章 计算监控属性(4)Pure computed observables
    KnockoutJS 3.X API 第三章 计算监控属性(3) KO如何实现依赖追踪
  • 原文地址:https://www.cnblogs.com/Dincat/p/13456286.html
Copyright © 2011-2022 走看看