We hebben hier een raar probleem, wat ogenschijnlijk alleen in Internet Explorer voorkomt.
Stel je de volgende class voor:
Hierin staan uiteraard Events, Methods, Properties, DesignTime attributen etcetera vermeld. Zodra we een postback triggeren
Dan zou de postCollection het control tdLookupEdit moeten bevatten. In FireFox werkt dit gewoon prima, alleen is in IE het control in de betreffende collection niet te vinden.
Het vreemde is, zoals vermeld, dat dit verschijnsel alleen in IE voorkomt.
Quote van mijn collega
Nog even 2 verduidelijkende screenshots erbij.
In IE:

In Fx:

In het 2e screenshot zie je dat AllKeys 4 items meer bevat.
Stel je de volgende class voor:
C#:
1
2
3
4
5
| public class tdLookUpEdit : CompositeControl, IControl, INamingContainer, IPostBackDataHandler { //methods, events etc. } |
Hierin staan uiteraard Events, Methods, Properties, DesignTime attributen etcetera vermeld. Zodra we een postback triggeren
C#:
1
2
3
4
| public bool LoadPostData(string postDataKey, NameValueCollection postCollection) { //handle } |
Dan zou de postCollection het control tdLookupEdit moeten bevatten. In FireFox werkt dit gewoon prima, alleen is in IE het control in de betreffende collection niet te vinden.
Het vreemde is, zoals vermeld, dat dit verschijnsel alleen in IE voorkomt.
Quote van mijn collega
Edit:Een custom control, inherit van Control, implement INaimingContainer en implements IPostbackDataHandler.
In de override CreateChildControls wordt de control opgebouwd, met o.a. een textbox en een hiddenfield.
Op de OnInit wordt Page.RegisterRequiresPostBack(this); aangeroepen.
Overal wordt gebruikt gemaakt van EnsureChildControls, maar toch is in IE (7) in de IPostbackDataHandler.LoadPostBackData postDataKey leeg. En in FF is deze key wel gevuld.
Nog even 2 verduidelijkende screenshots erbij.
In IE:

In Fx:

In het 2e screenshot zie je dat AllKeys 4 items meer bevat.
[ Voor 42% gewijzigd door TeeDee op 25-06-2008 14:15 ]
Heart..pumps blood.Has nothing to do with emotion! Bored