В чем разница между ViewData и PageData в asp.net MVC 3? - PullRequest
13 голосов
/ 21 июня 2011

Ну, я вижу эти 2 свойства, но я не могу понять разницу между ними?
Кажется, я нигде не могу найти какую-либо помощь по поводу пристрастия PageData.
так может ли тело помочь?

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

спасибо

Ответы [ 3 ]

13 голосов
/ 21 июня 2011

PageData является свойством веб-страниц, на которых построен Razor

[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 нет.

1 голос
/ 21 июня 2011

Я не уверен на 100%, но похоже, что PageData - это что-то из WebMatrix («легкая» среда веб-разработки MS). А ViewData - это то, что полностью поддерживается в MVC. ViewData находится в пространстве имен System.Web.Mvc, и поэтому любое приложение MVC будет иметь его в наличии.

PageData, по-видимому (в соответствии с MSDN), находится в пространстве имен System.Web.WebPages, но я не могу получить доступ к PageData из своих контроллеров MVC, даже если я полностью его квалифицирую. Может быть, он не предназначен для доступа со стороны контроллера, как ViewData может быть ...?

В этом другом вопросе StackOverflow есть еще некоторая информация о PageData здесь , но информация о ней в Интернете на удивление редкая (как вы, вероятно, обнаружили).

Надеюсь, это поможет!

0 голосов
/ 21 июня 2011

Viewdata является свойством свойства viewpage, и они оба находятся в классе viewpage ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...