Há alguns dias comecei a estudar a nova framework nos meus tempos livres (que são cada vez menos). Achei por bem anotar algumas ideias sobre o que vou encontrando. Deste meu estudo já nasceram dois ou três artigos (que se encontram na secção de artigos do site pontonet) e vou tentar colocar alguns posts sobre assuntos simples (e que por isso não devem ocupar espaço na zona dos artigos). Hoje vou falar sobre a nova filosofia de binding do asp.net 2.
Actualmente é costume efectuarmos o binding através da classe DataBinder (apesar desta não ser a forma mais eficiente). A nova versão da framework (ainda em beta) introduz novidades neste capítulo. Assim, com a nova framework, podemos efectuar o binding a fontes de dados hieráquicos e não hierárquicos.
Assim, no caso dos dados não hieráquicos (portanto, estamos a falar de, por exemplo, estruturas flat como as fornecidas pelo SqlDataSource) basta utilizar o método Eval: <%# Eval( "expressão", "formatação") %>. Note-se que a parte da formatação é opcional.
No caso dos dados hierárquicos (que, por exemplo, podem ser obtidos a partir do XmlDataSource), é necessário recorrer a outro tipo de sintaxe. Neste caso, podemos utilizar o objecto XPathBinder (nomeadamente os métodos Eval e Select). Como seria de esperar, existe também uma forma simplificada para ambos os métodos: no caso do método Eval, podemos recorrer ao método XPath (da classe Page), ficando então com o seguinte: <%# XPath( "expressão", "formatação" ) %>. Este método deve ser obtido quando queremos apenas obter um único nó (portanto, pode ser utilizado para indicar valores associados a uma coluna de um gridview).
No caso de ser necessário obter vários nós, devemos recorrer ao método Select. A forma simplificada consiste em evocar o método XPathSelect: <%# XPathSelect( "expressão" ) %>.
Resumindo, na nova versão do asp.net podemos efectuar binding através dos novos métodos expostos pela classe Page. O binding pode ser efectuado a dados hierárquicos e não hierárquicos.
posted on Thursday, October 21, 2004 7:46 PM