本系列文章基于ASP.NET MVC Preview5.

ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session来存储临时数据的,TempData中存放的数据只一次访问中有效,一次访问完后就会删除了的。这个一次访问指的是一个请求到下一个请求,因为在下一个请求到来之后,会从Session中取出保存在里面的TempData数据并赋值给TempData,然后将数据从Session中删除。我们看一下ASP.NET MVC Preview5源码:

也就是说TempData只保存到下一个请求中,下一个请求完了之后,TempData就会被删除了。注意这里TempData使用Session来做存储的,Session是对应特定用户的,所以并不存在并发问题。如果你用数据库来做TempData的存储介质的话,必须要考虑这个情况的。至于如何自定义TempData的存储介质,你可以参考“ASP.NET MVC: 用db4o来做TempDataProvider(另附一个泛型的RedirectToAction方法)”这一篇文章。

前面说到的在我们的BaseController中有一个显示提示信息给用户的方法,这个提示信息就是临时的信息,我们可以使用TempData来实现。下面让我们来实现这个提示信息的方法:

protected ActionResult ShowMsg(List<string> msgs)
{
    TempData["Messages"] = msgs;
    return RedirectToAction("Message");
}

public ActionResult Message()
{
    return View(TempData["Messages"] as List<string>);
}

因为我们的Controller都继承自这个我们自定义的BaseController,所以我么可以才Controller中这样来给用户显示提示信息:

好,这一部分就先到这里吧。Enjoy!Post by Q.Lee.lulu。

本文示例Blog的代码:4mvcBlog_5.rar

---------------------------------------------------------------------

更多内容,请关注http://blog.51mvc.com/ 和 http://bbs.51mvc.com/

ASP.NET MVC 入门6、TempData相关推荐

  1. ASP.NET MVC 入门系列教程

    一个居于ASP.NET MVC Beta的系列入门文章,有朋友提议说写一个示例程序来同步讲解,那样更加容易学习.所以就写选择了写一个Blog程序来作为示例程序.(原来是居于ASP.NET MVC Pr ...

  2. ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  3. ASP.NET MVC 入门8、ModelState与数据验证

    ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合.在进行数据验证的时候这个属性是比较有用的.在使用Html. ...

  4. ASP.NET MVC 入门

    入门基础 ASP.NET MVC 是微软系列基于 C# 语言的 Web 开发框架,并不适合 0 基础入门,在学习之前你必须要了解 4 个知识点: 1.HTML 基础.网页的基本标签,结合 ASP.NE ...

  5. ASP.NET MVC 入门3、Routing

    本系列文章基于Microsoft ASP.NET MVC Beta. 在一个route中,通过在大括号中放一个占位符来定义( { and } ).当解析URL的时候,符号"/"和& ...

  6. 16、ASP.NET MVC入门到精通——MVC过滤器

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在ASP.NET MVC中有四种过滤器类型 Action 1.在ASP.NET MVC项目中,新建文件夹Filter,然后新建类MyCust ...

  7. 1、ASP.NET MVC入门到精通——新语法

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...

  8. ASP.NET MVC 入门4、Controller与Action

    本系列文章基于ASP.NET MVC Preview5. Controller是MVC中比较重要的一部分.几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据.在ASP.NET MVC ...

  9. 从零开始学习ASP.NET MVC 入门

    <从零开始学习ASP.NET MVC 1.0> 文章导航 (一) 开天辟地入门篇 (二) 识别URL的Routing组件 (三) Controller/Action 深入解析与应用实例 ( ...

最新文章

  1. 移动网站开发中常用的10段JavaScript代码
  2. 每日一皮:某程序员对书法十分感兴趣。一日饭后突生雅兴...
  3. vba手机号码归属_Android手机号码归属地的查询
  4. Linux之DNS服务器搭建及常见DNS***和防御
  5. Python平衡点问题
  6. 怎样查询2021高考模拟成绩,2021年高三一模二模三模哪个成绩更接近高考成绩,看看网友是怎么评论...
  7. 你们的苹果手机,关闭哪些功能比较省电?
  8. [转]C#加密解密源码
  9. vuforia for unity 注意事项
  10. 阿里聚合直播盒子APP源码™ AlijuheCMS Build Demo 20190206
  11. 项目管理工具——Jira使用和配置
  12. mysql删库命令是啥_MySQL删除数据库的命令是什么?
  13. scau 18967 六一儿童节
  14. python selenium+Firefox 模拟浏览器操作
  15. Python 解决报错NameError: name ‘LEFT‘ is not defined
  16. 人工智能会成为下一场的科技革命吗?
  17. 求无限循环小数的循环节
  18. 计算机频率符号,符号定时和载波频率偏差,Symbol timing and carrier frequency offset,音标,读音,翻译,英文例句,英语词典...
  19. 社区分享丨雪花啤酒的JumpServer堡垒机使用体会
  20. unity3d培训_001

热门文章

  1. java轻松实现无锁队列
  2. .net core HttpContext(Http上下文)
  3. 第三次个人赛题目2 【多项式输出格式】
  4. Linux下汇编语言学习笔记13 ---
  5. Leetcode 279. Perfect Square
  6. where 1=1低效?
  7. [剑指offer][JAVA]面试题第[05]题[替换空格][StringBuilder/Buffer]
  8. linux系统命令光标移动,Linux 命令行 光标移动技巧及利用grep和find查找文件内容...
  9. 画王八java代码参数_java画乌龟源代码-郭遥航.doc
  10. php redis 搜索,PHP+Redis有序集合(zset)实现博客园阅读排行榜功能