Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
810
Assunto : ASP.NET
Titulo: FindControl recursivo - encontrando em containers

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



O método findControl, existentes em objetos web do tipo Control, não é recursivo.

Isso significa que quando vc faz um FindControl na página vc não irá encontrar objetos contidos dentro de outros containers, como loginView, e outros. Isso é especialmente chato quando trabalhamos com a master page, já que a estrutura de containers dela não é tão simples.

Para resolver isso podemos criar um findControl recursivo. Veja :



1 Public Function AcharControle(ByVal idControle As String, ByVal container As Control) As Control

2 Dim c As Control
3 c = container.FindControl(idControle)
4 If Not IsNothing(c) Then
5 Return (c)
6 End If
7 For Each item As Control In container.Controls
8 c = AcharControle(idControle, item)
9 If Not IsNothing(c) Then
10 Return (c)
11 End If
12 Next
13 Return (Nothing)
14 End Function

Fique atento para o fato de que isso consome muita performance, em especial se o objeto não existir.



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 4/23/2012 2:22:00 PM
nome: Diego
email: bastos_diego@ymail.com
comentário:
Ótima dica,

me ajudou muito!!!

Diego


 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br