event handler isn't working

S

Sergio E.

Hello, I am extending a webcontrol, and I need to generate an array of
objects of type dropdownlist, whose event selectedindexchanged must fires an
own method called Cbo_SelectedIndexChanged that has the same signature of
selectedindexchanged of a normal dropdownlist. I already tried to add the
handler to them with addhandler but the event does not go off. I already
debug it line by line and the first timethe page with the control draws
correctly, dropdownlists fill correctly but when changing some value of any
of them it does not work, the method never is reached. I don't know if it is
because I don't defined the withevents modifier for each dropdownlist, but
the compiler gives me an error if I do "protected withevents cbos() as
dropdownlist" and I don't know how add to it when it's in an array.

The source code involved is this:

public class myExtendedPanel
inherits panel
protected cbos() as dropdownlist

private sub GenerateCbos(byval maxcbos as integer)
redim me.cbos(0 to maxcbos)
for i as integer = 0 to maxcbos
me.cbos(i) = new dropdownlist()
me.cbos(i).id="LocalCbo"+i.tostring()
me.cbos(i).datasource = me.dts(i)
me.cbos(i).datatextfield="colText"
me.cbos(i).datavaluefield="colId"
me.cbos(i).autopostback=true
me.cbos(i).enableviewstate=true
Dim eh As EventHandler = New EventHandler(AddressOf
Me.Cbo_SelectedIndexChanged)
AddHandler Me.ddls(i).SelectedIndexChanged, eh
'AddHandler ddl.SelectedIndexChanged, AddressOf Me.Cbo_SelectedIndexChanged
' it don't work too
me.cbos(i).databind()
me.cbos(i).selectedvalue=me.selvals(i)
me.controls.add(me.cbos(i))
next
end sub


Protected Sub Cbo_SelectedIndexChanged(ByVal sender As Object, ByVal e As
EventArgs)
'Here goes the code to execute, by now i use a test
response.write(me.cbos(0).selectedvalue)
'this method hasn't reached
end sub
end class


What I'm doing wrong?
Thank you!
 
N

Nathan Sokalski

One thing that I am noticing is that you do not declare Me.ddls anywhere
(the object you use in the AddHandler statement). Also, it looks to me like
you are not very experienced in writing custom controls; by this I am
referring to the fact that you are not overriding the methods defined in the
WebControl class that are normally overridden in custom controls. For
example, CreateChildControls. For more information see the documentation.
Also, a great book with plenty of simple yet complete examples that are
explained in much detail is ASP.NET 2.0 Unleashed by Stephen Walther:

http://www.amazon.com/ASP-NET-2-0-U...352937-2405450?ie=UTF8&qid=1189389819&sr=11-1

Another suggestion of mine, based on your code, would be to not inherit from
the Panel control, but from the WebControl. Assuming you are not using any
of the capabilities unique to the Panel, your control may be more efficient
if you inherit from WebControl. Good Luck!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top