{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}
29/10/2010
Passar um model dynamic para a view não é uma novidade do ASP.NET MVC 3. Já na versão 2 podíamos fazer isso, afinal dynamic é uma funcionalidade do .NET 4.
No ASP.NET MVC 2 para especificar o model de uma view nós utilizamos algo parecido com:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<minhaclasse>" %></minhaclasse>
Já quando queremos um model dinâmico, ou seja um dynamic model utilizamos:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %></dynamic>
Não é nada complexo, mas é bem feio. Cheio de sujeira, ruído e tudo o mais. E nós não gostamos do nosso código sujo não é?!
No ASP.NET MVC 2 no entando não tínhamos a facilidade da diretiva @model que temos no ASP.NET MVC 3.A diretiva @model é uma forma simplificada (realmente mais simples) de informar a view sobre qual o tipo do model que ela deverá utilizar.Para especificar o model de uma view no MVC 3 precisamos codificar toda a listagem abaixo:
@model MinhaClasse
\o/ É isso mesmo! Apenas isso! Não existe mistérioo e não existem segredos!E o dynamic model? Ah sim, mais a complexidade abaixo:
@model dynamic
\o/
Importante dizer que na utilização de dynamic models não conseguimos utilizamos Html helpers como:Html.LabelFor(model => model.Propriedade)Para isso precisaríamos de um ViewModel(ou o model mesmo).É isso galera, com isso estamos vendo novamente simplicidade do Razor. Espero que aproveitem.
Abraços, Vinicius Quaiato.