2011-06-21 11 views
13

まあ、私はこの2つのプロパティを参照してくださいが、私はそれらの違いを理解できないのですか?
PageDataの妥当性についてはどこからでも助けが得られるようです。
どのような体の助けもできますか?asp.net MVC 3のViewDataとPageDataの違いは何ですか?

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

おかげ

+2

こんにちはKarim、あなたのコードスニペットで "ViewPage"があるかもしれませんが、あなたの質問には "PageData"があります。 – dizzwave

+0

固定、 – Karim

答えて

12

InboundのPageDate、ページ、レイアウトページ、および一部のページ間で共有されたページデータへの配列のようなアクセスを提供します[それ]カミソリが

上に構築されたウェブページのプロパティです。

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

ViewDataを

は、ビューページの特性であり、コントローラとページ間でデータを受け渡す方法を提供します。

コントローラとビューの間を渡すデータを含む辞書を取得または設定します。

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

のViewDataはInboundのPageDateはないが、コントローラを介してアクセス可能です。

+0

ありがとうが、この問題は非常に混乱している、これらの2のいずれかがHttpContext.Current.Items []?私はWebフォームでasp.net mvcの前にこれを使用していました。しかし、それはこれらの2つの主張を思い起こさせる。 – Karim

-2

のViewDataは、ビューページ財産の財産であり、それらの両方がビューページクラスである....

+0

ありがとうございました申し訳ありませんが、私はサンプルで、そのPagedata ViewPageではありません – Karim

1

私は100%わからないんだけど、InboundのPageDateがから何かあるようですWebMatrix(MSの「軽い」Web開発環境)また、ViewDataはMVCで完全にサポートされているものです。 ViewDataはSystem.Web.Mvc名前空間にあり、したがって、すべてのMVCアプリケーションで利用可能になります。

PageDataはSystem.Web.WebPages名前空間の(MSDNによると)明らかですが、完全に修飾していても、私のMVCコントローラからPageDataにアクセスすることはできません。おそらく、コントローラ側からアクセスすることを意図したものではないでしょう。たとえば、ViewDataは次のようなものでしょうか?

この他のStackOverflow質問hereにはPageDataに関する情報がありますが、ウェブ上の情報は驚くほど疎です(おそらく見つけたように)。

私はそれが助けてくれることを願っています!

関連する問題