始终删除/删除动态添加的控件

时间:2014-10-17 02:01:35

标签: asp.net vb.net

我创建了一个按钮事件(不是来自Page_Load)动态触发的按钮,但添加的控件已自动删除。

Protected Sub btnDate_Click(s As Object, e As EventArgs)
    Label1.Text = CType(s,Button).Text & " has been clicked."
End Sub

Protected Sub btnDiagDateOK_Click(s As Object, e As EventArgs) Handles btnDiagDateOK.Click

    Dim b As New Button
    Dim dates() As String = TextBox1.Text.Split("|") ' Ex: 10OCT2014|11OCT2014|12OCT2014

    For Each s As String in dates
        b = New Button
        b.Text = s
        AddHandler b.Click, AddressOf btnDate_Click

        Panel1.Controls.Add(b)
    Next

End Sub

问题在于每次单击其他按钮(或创建的按钮)时,Panel1中的所有控件都将被删除。

有没有一种方法可以在不使用用户定义的javascript的情况下删除我创建的控件?

1 个答案:

答案 0 :(得分:2)

这与"用户定义的javascript"。

无关

每次在服务器上实例化页面时,都会根据页面的aspx文件中的标记创建页面控件。除非其中一个页面方法中有代码,否则页面不会知道/记住在其先前的转世中动态创建的其他控件。您必须保存有关这些控件的信息(例如,在页面的ViewState中),并最迟在Page_Load中再次创建它们。