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类中….