Dear Newsgroup Readers,
I have a problem with dynamic controls, in a DNN module, and event handlers in VB.NET ASP.NET 2.0. Events are firing and being handled
ONLY MOST of the time and also sometimes in a wrong way. I always unchecked the first of the list:
CheckBox1 sender ID = D0
CheckBox2
CheckBox3
CheckBox4
CheckBox5
CheckBox2 sender ID = D1
CheckBox3
CheckBox4
CheckBox5
CheckBox2 sender ID = D0
CheckBox4
CheckBox5
CheckBox4 sender ID = D1
CheckBox5
CheckBox5 CheckChanged event does not fire the first time and must be unchecked again to remove
And so on. The last remaining one does not fire an event and must be unchecked again to be removed
I tried everything, code examples on the internet are more or less the same with mine.
(I tried Enablev13wstat3 false and true for page, panel and dynamic checkboxes, no effect.)
Any ideas what the problem is? I do not believe that it is one of those hard to debug asynchrone bugs, because the code is so simple!
PLEASE HELP!
Kind regards,
Johan van der Galien.
Code snipped:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim MyCustomIngredients As New List(Of CustomIngredients)
Dim MyDBItemCheckBox As CheckBox
MyCustomIngredients = MyDataBase.SelectAllCustomIngredients(UserId)
Me.DBMaintenancePanel.Controls.Clear()
Dim I As Integer
For I = 0 To MyCustomIngredients.Count - 1
MyDBItemCheckBox = New CheckBox
MyDBItemCheckBox.AutoPostBack = True
MyDBItemCheckBox.Checked = True
'MyDBItemCheckBox.Enablev13wstat3 = False
MyDBItemCheckBox.ID = "D" & I.ToString
MyDBItemCheckBox.Text = MyCustomIngredients(I).Description
AddHandler MyDBItemCheckBox.CheckedChanged, AddressOf ADBItemCheckChanged
Me.DBMaintenancePanel.Controls.Add(MyDBItemCheckBox)
Me.DBMaintenancePanel.Controls.Add(New LiteralControl("<br />"))
Next
End Sub
Public Sub ADBItemCheckChanged(ByVal sender As Object, ByVal e As EventArgs)
Me.IngredientsPanel.Visible = False
Me.DBMaintenancePanel.Visible = True
Me.OUTPUTLabel.Visible = False
Me.ItemsDropDownList.SelectedIndex = 0
Me.DBMaintenanceButton.Visible = False
Me.FinishDBMaintenanceButton.Visible = True
Me.ADDButton.Enabled = False
Dim MyDBItemCheckBox As CheckBox = DirectCast(sender, CheckBox)
Dim MyDataBase As New SqlDataProvider
Dim MyCustomIngredients As New List(Of CustomIngredients)
'1) Load list of items from database
MyCustomIngredients = MyDataBase.SelectAllCustomIngredients(UserId)
'2) Remove unchecked item from database
MyDataBase.DeleteCustomIngredient(MyCustomIngredients(CInt(MyDBItemCheckBox.ID.Trim("D"))))
End Sub