如何访问页面加载期间创建的控件

时间:2018-02-05 16:00:57

标签: asp.net vb.net web-applications

我从数据库中提取信息的页面,它将在页面加载时生成文本框或单选按钮。我遇到的问题是我以后无法在后面的代码中使用它。我想知道它是否可能以及如何使这些可访问。例如,TextBox1是在页面加载期间创建的,然后在按钮上单击下面的代码将抛出错误"' TextBox1'未被宣布。"

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Label1.text = TextBox1.text
End Sub

1 个答案:

答案 0 :(得分:0)

最佳做法是将控件放在ASPX标记中。这允许你从各地的代码中引用它;但是,如果这不是你的选择,你需要处理代码中的所有内容:

Dim control as Control

Protected Sub Load()
    If ConditionForRadioButton Then
        control = new RadioButton()
    End If
End Sub

Protected Sub Button1_Click()
    If ConditionForRadioButton Then
        Dim radio = CType(control, RadioButton)
        ' do things with radio
    End If
End Sub

为其他控件类型添加其他案例;如果这是某种类型的集合,你必须在这种情况下推断这一点,但这个想法是一样的。