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

  • 相关阅读:
    【试水CAS-4.0.3】第07节_CASclient配置单点登录
    30分钟,让你彻底明白Promise原理
    【你离硅谷只差一步】网易中国创业家大赛项目火热征集中
    21分钟学会写编译器
    Android 模拟器下载、编译及调试
    GitLab 自动触发 Jenkins 构建
    微服务监控探索
    感觉要火!妹子实地采访网易猪厂程序员七夕怎么过
    延迟任务调度系统—技术选型与设计(下篇)
    使用QUIC
  • 原文地址:https://www.cnblogs.com/Dincat/p/13456286.html
Copyright © 2011-2022 走看看