用vbnet通过字符串名称获取控件对象
可以使用FindControl方法来通过字符串名称获取控件对象。例如,假设有一个名为TextBox1的文本框控件,可以使用以下代码获取该控件对象:
Dim textBox As TextBox = Me.FindControl("TextBox1")
请注意,FindControl方法只能在容器控件(如Page、Panel、GroupBox等)中查找控件。如果要在整个页面中查找控件,可以使用以下代码:
Dim textBox As TextBox = Me.Master.FindControl("TextBox1")
其中,Master表示页面的主控件。如果要在嵌套的容器中查找控件,可以使用FindControl方法的递归调用。例如:
Private Function FindControlRecursive(ByVal root As Control, ByVal controlId As String) As Control If root.ID = controlId Then Return root End If
For Each ctrl As Control In root.Controls
Dim foundCtrl As Control = FindControlRecursive(ctrl, controlId)
If foundCtrl IsNot Nothing Then
Return foundCtrl
End If
Next
Return Nothing
End Function
然后可以使用以下代码在整个页面中查找控件:
Dim textBox As TextBox = FindControlRecursive(Me.Master, "TextBox1"
原文地址: https://www.cveoy.top/t/topic/hqct 著作权归作者所有。请勿转载和采集!