我创建了一个按钮事件(不是来自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的情况下删除我创建的控件?
答案 0 :(得分:2)
这与"用户定义的javascript"。
无关每次在服务器上实例化页面时,都会根据页面的aspx文件中的标记创建页面控件。除非其中一个页面方法中有代码,否则页面不会知道/记住在其先前的转世中动态创建的其他控件。您必须保存有关这些控件的信息(例如,在页面的ViewState中),并最迟在Page_Load
中再次创建它们。