Подтвердить что ты не робот

В чем разница между ViewData & PageData в asp.net MVC 3?

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

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

спасибо

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

Я надеюсь, что это поможет!

Ответ 3

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