DataBinder


Dando uma vasculhada pelo Help do Visual Studio .NET 2005, me deparei com um novo recurso do ASP.NET 2.0, qual apresenta uma nova opção (mais simples) para criarmos expressões de DataBinding que, no ASP.NET 1.x fazemos através do método Eval da classe DataBinder, onde em um dos seus overloads, é passado como parametro a referencia à um objeto (geralmente “Container.DataItem”) que é de onde que o campo de dados será recuperado e exibido ao cliente.

Além deste parametro, é também passado uma string contendo o nome do campo ou propriedade a ser recuperada. Isso é em runtime avaliado e, consequentemente, renderizado para o cliente. Um exemplo do uso desta sintaxe é mostrada abaixo:

<%# DataBinder.Eval(Container.DataItem, “expressao”) %>

expressao é o nome da propriedade a ser recuperada. Existe ainda um outro parametro para o método Eval, que recebe também uma string contendo uma possível formatação para este campo, que depois de avaliado e retornado, o ASP.NET se encarrega também de aplicar a formatação.

Tudo isso agora se resumiu à chamada de um método, ou seja, temos agora uma forma compacta de fazer isso:

<%# Eval(“expressao”) %>

Isso é possível graças à um método protegido que temos na classe Page chamado Eval (que é herdado da classe TemplateControl). Se decompilarmos esse método, veremos que ele faz o trabalho semelhante ao que fazíamos no HTML da versão 1.x, ou seja, invoca o método DataBinder.Eval:

Protected Friend Function Eval(ByVal expression As String) As Object
      Me.CheckPageExists
      Return DataBinder.Eval(Me.Page.GetDataItem, expression)
End Function

Está aqui uma forma facilitada, mas ainda propícia à erros, já que apenas informamos uma string, para que o mesmo possa avaliar e retornar um valor, portanto, se não existir um campo correspondente, o erro somente será detectado em runtime, quando uma Exception for atirada.

Anúncios

Um comentário sobre “DataBinder

  1. Nossa como uma informação antiga ainda é util nos dias de hoje, estou até aprendendo a consultar o help do visual studio. Obrigado Israel !!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s