ASP.NET MVC 入门6、TempData

本系列文章基于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源码:

image

也就是说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中这样来给用户显示提示信息:

image

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET MVC 入门11、使用AJAX

本系列文章基于ASP.NET MVC beta.本示例Blog系统同步更新的演示站点&#xff1a;http://4mvcblog.qsh.in/ 在ASP.NET MVC beta发布之前&#xff0c;M$就宣布支持开源的JS框架jQuery&#xff0c;然后ASP.NET MVC beta发布后&#xff0c;你建立一个ASP.NET MVC beta的项目后&…

.NET三种异步模式(APM、EAP、TAP)

APM模式&#xff1a; .net 1.0时期就提出的一种异步模式&#xff0c;并且基于IAsyncResult接口实现BeginXXX和EndXXX类似的方法。 .net中有很多类实现了该模式(比如HttpWebRequest)&#xff0c;同时我们也可以自定义类来实现APM模式(继承IAsyncResult接口并且实现BeginXXX和E…

Nacos 使用

环境准备 64 bit OS&#xff0c;支持 Linux/Unix/Mac/Windows&#xff0c;推荐选用 Linux/Unix/Mac。64 bit JDK 1.8&#xff1b;下载 & 配置。Maven 3.2.x&#xff1b;下载 & 配置。 下载 Nacos 并启动 Nacos server。 启动配置管理 启动了 Nacos server 后&#x…

四种并发编程模型简介

概述 并发往往和并行一起被提及&#xff0c;但是我们应该明确的是“并发”不等同于“并行” • 并发 &#xff1a;同一时间 对待 多件事情 &#xff08;逻辑层面&#xff09; • 并行 &#xff1a;同一时间 做(执行) 多件事情 (物理层面) 并发可以构造出一种问题解…

easyexcel操作Excel导入导出

需要添加maven依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency> 读Excel package com.alibaba.easyexcel.test.demo.read;import java.io.File; …

从编译到执行,C++如何开发SIMD友好的代码?

一&#xff1a;名词解释 Flynn分类法 Flynn于1972年提出了计算平台的Flynn分类法,主要根据指令流和数据流来分类。按照Flynn分类法&#xff0c;计算平台共分为四种类型。 1.单指令流单数据流机器(SISD) 2.单指令流多数据流机器(SIMD) 3.多指令流单数据流机器(MISD) 4.多指令流…

Nacos介绍

Nacos 英文全称为 Dynamic Naming and Configuration Service&#xff0c;是一个由阿里巴巴团队使用 Java 语言开发的开源项目。 参考:home (nacos.io) Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台&#xff0c;可以将 Nacos 理解成服务注册中心…

在部署 C#项目时转换 App.config 配置文件

问题 部署项目时&#xff0c;常常需要根据不同的环境使用不同的配置文件。例如&#xff0c;在部署网站时可能希望禁用调试选项&#xff0c;并更改连接字符串以使其指向不同的数据库。在创建 Web 项目时&#xff0c;Visual Studio 自动生成了 Web.config、Web.Debug.config、We…

@Transactional

事务场景中&#xff0c;抛出异常被catch后&#xff0c;如果需要回滚&#xff0c;一定要手动回滚事务。 Spring事务框架默认只在抛出RuntimeException和unchecked exceptions时才将事务回滚&#xff08;Errors默认 - 事务回滚&#xff09;&#xff0c;但是抛出的Checked except…

设计模式之Factory

设计模式之Factory 2016-08-04 11:57 设计模式总共有23种模式这种都仅仅是为了一个目的&#xff1a;解耦解耦解耦...&#xff08;高内聚低耦合满足开闭原则&#xff09; 介绍: Factory Pattern有3种当然是全部是creational pattern。 1.Simple Factory Pattern 2.Factory…

centos 7 中没有iptables 和service iptables save 指令使用失败问题解决方案

1.任意运行一条iptables防火墙规则配置命令&#xff1a; iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存&#xff1a; service iptables save 如果上述命令执行失败报出&#xff1a;The service command supports only basic LSB actions (start, stop, restart,…

linux防火墙查看及白名单配置

1、基本操作 1、开启防火墙 systemctl start firewalld 2、关闭防火墙 systemctl stop firewalld ​3、重启防火墙 firewall-cmd --reload ​ #Linux防火墙--iptables--白名单配置 端口开通给指定IP iptables -I INPUT -s 10.1.1.1 -p tcp -m tcp --dport 80 -j ACCEPT #查看…

C#多线程之旅(七)——终止线程

阅读目录 一、什么时候用Thread.Abort();二、Thread.Abort的用法三、无法终止线程的情形四、Catch块中抛出异常五、Finally块中抛出异常六、Abort调用的时间先交代下背景&#xff0c;写《C#多线程之旅》这个系列文章主要是因为以下几个原因&#xff1a;1.多线程在C/S和B/S架构中…

ASP.NET MVC 入门7、Hellper与数据的提交与绑定

本系列文章基于ASP.NET MVC Preview5. ASP.NET MVC提供了很多Hellper的方法&#xff0c;Hellper就是一些生成HTML代码的方法&#xff0c;方便我们书写HTML代码(有一部分的朋友更喜欢直接写HTML代码)。我们也可以利用.NET 3.5的扩展方法来书写我们自己的Hellper。 例如&#x…

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

ViewData有一个ModelState的属性&#xff0c;这是一个类型为ModelStateDictionary的ModelState类型的字典集合。在进行数据验证的时候这个属性是比较有用的。在使用Html.ValidationMessage()的时候&#xff0c;就是从ViewData.ModelState中检测是否有指定的KEY&#xff0c;如果…

ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)

本系列文章基于ASP.NET MVC Preview5. 有时候你想在调用action方法之前或者action方法之后处理一些逻辑&#xff0c;为了支持这个&#xff0c;ASP.NET MVC允许你创建action过滤器。Action过滤器是自定义的Attributes&#xff0c;用来标记添加Action方法之前或者Action方法之后…

ASP.NET MVC 入门10、Action Filter 与 内置的Filter实现(实例-防盗链)

本系列文章基于ASP.NET MVC Preview5. 前一篇中我们已经了解了Action Filter 与 内置的Filter实现&#xff0c;现在我们就来写一个实例。就写一个防盗链的Filter吧。 首先继承自FilterAttribute类同时实现IActionFilter接口&#xff0c;代码如下&#xff1a; /// <summary…

.netcore持续集成测试篇之MVC层单元测试

前面我们讲的很多单元测试的的方法和技巧不论是在.net core和.net framework里面都是通用的,但是mvc项目里有一种比较特殊的类是Controller,首先Controller类的返回结果跟普通的类并不一样,普通的类返回的都是确定的类型,而mvc项目的返回的ActionResult或者core mvc里返回的IAc…

SqlServer学习之触发器

什么是触发器&#xff1f; 根据百度百科的解释&#xff0c;触发器是SqlServer提供给程序员和数据分析员来保证数据完整性的一种方法&#xff0c;它是与表事件相关的特殊的存储过程&#xff0c;他的执行不是有程序调用&#xff0c;也不是手工启动&#xff0c;而是由事件来出发&a…

base64原理及其编解码的python实现

base64原理及其编解码的python实现base64base64简介base64编码表base64编码原理base64编解码的python实现其他base编码base16base32base36、base58、 base62、 base85、base91、 base92base64 base64简介 base64是一种基于64个可打印字符来表示二进制数据的表示方法。2664&am…