2011-06-21 10 views
13

Bien lo veo 2 propiedades, pero no puedo entender la diferencia entre ellos?
Parece que no puedo encontrar ninguna ayuda en cualquier lugar acerca de la conveniencia PageData.
por lo que puede cualquier ayuda cuerpo?¿Cuál es la diferencia entre ViewData y PageData en asp.net MVC 3?

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

gracias

+2

Hola Karim, podría ser que en su fragmento de código que tiene "ViewPage", pero en su pregunta que tenga "PageData". – dizzwave

+0

gracias por eso, fijos – Karim

Respuesta

12

PageData es una propiedad de páginas web que se basa en la maquinilla de afeitar

[que] Proporciona acceso a una matriz similar a los datos de la página que se comparte entre las páginas, páginas de diseño y páginas parciales.

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

ViewData es una propiedad de ViewPage y proporciona un método de transmitir datos entre un controlador y una página.

Obtiene o establece un diccionario que contiene datos para pasar entre el controlador y la vista.

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

ViewData es accesible a través del controlador, PageData no lo es.

+0

gracias, pero este tema es muy confuso, también lo hace por casualidad usted conoce si alguno de estos 2 tienen una relación con HttpContext.Current.Items []? Estaba usando esto antes de asp.net mvc en formularios web. pero recuerda estas 2 propiedades. – Karim

-2

Viewdata es una propiedad de los bienes ViewPage y ambos pertenecen a la clase ViewPage ....

+0

lo siento, cometí un error en la muestra, su Pagedata no ViewPage – Karim

1

No estoy 100% seguro, pero parece que es algo de PageData WebMatrix (entorno de desarrollo web "ligero" de MS). Y ViewData es algo totalmente compatible con MVC. ViewData se encuentra en el espacio de nombres System.Web.Mvc y, por lo tanto, cualquier aplicación MVC lo tendrá disponible.

PageData aparentemente (según MSDN) en el espacio de nombres System.Web.WebPages, pero no puedo acceder a PageData desde mis controladores MVC, incluso si lo califico completamente. Tal vez no se debe acceder desde el lado del controlador, como ViewData puede ser ...?

Hay más información sobre PageData en esta otra pregunta de StackOverflow here, pero la información sobre ella en la web es sorprendentemente escasa (como probablemente haya encontrado).

Espero que ayude!

Cuestiones relacionadas