程晓晖

博客园 首页 新随笔 联系 订阅 管理

个人感觉 不管它们是否基于session 在用法上最大的区别在于 ViewData用于action方法与前台页面传值使用,TempData除了有viewData的功能外也可以在action方法之间传递值(在本controller里可以传递 跨contoller也是可以的)也可以在重新定向后赋予定向方法的前台页面。现在我是这么理解的 不对了以后再改吧 哈哈!

下面是复制http://news.cnblogs.com/n/69952/的解释

TempData和ViewData的区别

  做个简单的测试看下看下TempData和ViewData的区别:

public ActionResult Test1()
{

TempData[
"text"] = "1-2-3";
ViewData[
"text"] = "1-2-3";
return RedirectToAction("Test2");
}
public ActionResult Test2()
{
string text1 = TempData["text"] as string;
string text2 = ViewData["text"] as string;
return View();
}

  看下面截图,发现经过Test1经过RedirectToAction跳转Test2后,ViewData的值已经被清空,而TempData没有被清空,这是它们的区别之一,我们可以用TempData在Controller之间传递数据。

posted on 2010-12-25 13:00  fumen  阅读(2972)  评论(0编辑  收藏  举报