ASP.NET MVC 入门6、TempData
2010-03-10 09:33
295 查看
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中这样来给用户显示提
示信息:
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中这样来给用户显示提
示信息:
相关文章推荐
- [转]ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门5 TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData【转】
- ASP.NET MVC 入门 -- 6、TempData
- ASP.NET MVC 入门 6 TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 入门6、TempData
- ASP.NET MVC 跨页数据呈现(TempData)
- [转]ASP.NET MVC 入门5、View与ViewData
- ASP.NET MVC传递Model到视图的多种方式总结(二)__关于ViewBag、ViewData和TempData的实现机制与区别
- asp.net mvc之TempData、ViewData、ViewBag
- ASP.NET MVC程序传值方式:ViewData,ViewBag,TempData和Session
- ASP.NET MVC 入门5、View与ViewData
- [转]ASP.NET MVC中的两个Action之间值的传递--TempData