asp.net MVC 3中的ViewData和PageData有什么区别?

嗯,我看到这2个属性,但我不明白它们之间的区别?
我似乎无法在任何地方找到任何有关PageData礼仪的帮助。
所以身体有帮助吗?

@ { Viewdata["something"] = 1; PageData["something"] = 2; } 

谢谢

PageData是Razor构建的WebPages的属性

[it]提供对页面,布局页面和部分页面之间共享的页面数据的类似数组的访问。

http://msdn.microsoft.com/en-us/library/system.web.webpages.webpagebase.pagedata(v=VS.99).aspx

ViewData是ViewPage的一个属性,它提供了一种在控制器和页面之间传递数据的方法。

获取或设置一个字典,其中包含要在控制器和视图之间传递的数据。

http://msdn.microsoft.com/en-us/library/system.web.mvc.viewpage.viewdata.aspx

可以通过控制器访问ViewData,而不是PageData。

我不是百分百肯定,但看起来像PageData是来自WebMatrix(MS的“轻型”Web开发环境)。 ViewData是MVC完全支持的东西。 ViewData位于System.Web.Mvc命名空间中,因此任何MVC应用程序都可以使用它。

在System.Web.WebPages命名空间中,PageData显然是(根据MSDN),但是我无法从我的MVC控制器访问PageData,即使我完全符合它。 也许它不是要从控制器端访问,就像ViewData可以……?

这里有另外一个StackOverflow问题的关于PageData的更多信息,但是网络上的信息非常稀疏(正如你可能已经发现的那样)。

我希望有所帮助!

Viewdata是viewpage属性的属性,它们都在viewpage类中….