Metodo di estensione FindControl web ricorsivo
Scritto da
Massimo Bonanni il
lunedì 14 marzo 2011
•
Linguaggio:
• Livello: 100
Il seguente metodo di estensione implementa un
FindControl ricorsivo:
VB
<Extension()> _
Public Function FindControlRecursive(ByVal container As Control, _
ByVal controlID As String) As Control
Dim ctrlRet As Control = Nothing
If container IsNot Nothing Then
ctrlRet = container.FindControl(controlID)
If ctrlRet Is Nothing Then
For Each ctrl As Control In container.Controls
ctrlRet = ctrl.FindControlRecursive(controlID)
If ctrlRet IsNot Nothing Then Exit For
Next
End If
End If
Return ctrlRet
End Function
C#
public static Control FindControlRecursive(this Control container,
String controlID)
{
Control ctrlRet = null;
if (container != null)
{
ctrlRet = container.FindControl(controlID);
if (ctrlRet == null)
{
foreach (Control ctrl in container.Controls)
{
ctrlRet = ctrl.FindControlRecursive(controlID);
if (ctrlRet != null) break;
}
}
}
return ctrlRet;
}
Tags: ASP.NET,Web control