可以使用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"

用vbnet通过字符串名称获取控件对象

原文地址: https://www.cveoy.top/t/topic/hqct 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录