estoy aprendiendo asp.net mvc y encontró algo interesante:ASP.net MVC View's Model vs ViewData.Model?
Parece que no puedo definir explícitamente de Model
desde la vista de una vista con el mensaje de error que indica que no tiene colocador.
@{ this.Model = "Hello" } //error
Y miré en el código fuente en WebViewPage.cs y la propiedad Modelo de una vista es realmente así:
public object Model { get { return ViewData.Model; } }
lo tanto el error.
Pero es interesante cómo puedo hacer esto: @{ ViewData.Model = "hello"; }
y ser capaz de utilizar la instrucción @model
, el resultado "hola"
Creo que estoy mirando demasiado en él en realidad, pero ¿por qué es esto así?
principiante en C# y ASP.NET
@BrokenGlass probablemente necesite leer su pregunta mejor, es una pregunta para novatos ... es bastante útil/útil para explicarlo ... – NiK
@ Jan Carlo Viray ¿Podría aclarar su pregunta? '¿Por qué tan' qué? –
En realidad, nunca supe que '@ Model' estaba contenido en el diccionario' ViewData'. Asombroso, porque he escuchado varias fuentes respetadas ** RAIL ** contra el uso de ViewData y, sin embargo, aquí está integrado en el marco. –