Not sure if this is correct but this is how i ended up fixing it... don't
know if its a kludge, but it seems to work.. On initial page load it sets
the obj property twice however, but oh well.
in repeater_itemcreated i put if((e.Item.Controls.Count>1) &&
(e.Item.Controls[1].GetType().Name=="mycontrol.ascx"))
((mycontrol)e.Item.Controls[1]).obj = (obj)e.Item.DataItem;
To answer your questions so maybe i can get a better solution:
Calendar is elsewhere on the page, not in a repeater. There was a typo, i
didn't mean "showPass", i meant "showItem", as the code snippet has and yes
it is a property on my ascx.
When i debug the property that sets the "obj" and I step through, the
initial page load works great. I set the repeater datasource to a collection
of objects then bind. When a breakpoint is set on the set method in the
"obj" property it is triggered on initial page_load, however, after i select
a date and then in calendar_selectionchanged i select a different datasource
(filtered based on the day) and then bind, it never reaches that breakpoint.
Don't know if i am explaing this correctly, but i am trying.
Thank you for your help!!
> Questions get answered fairly quickly here. Your question however has a few
> ambiguities:
[quoted text clipped - 33 lines]
> > >
> > > What am I doing wrong? Any help would be much appreciated.
If I create a demo that matches the description that you posted I do not get
the problem that you got. Here is the demo:
http://www.webswapp.com/demos/feb162006.aspx
The problem you got could have happened if you had added your custom control
to the page programmatically (instead of declaratively as you posted below).

Signature
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com
> Not sure if this is correct but this is how i ended up fixing it... don't
> know if its a kludge, but it seems to work.. On initial page load it sets
[quoted text clipped - 58 lines]
> > > >
> > > > What am I doing wrong? Any help would be much appreciated.
Jaybuffet - 18 Feb 2006 04:28 GMT
Was this im ASP.NET 1.1? It seems like how i have (except the user control,
I set label values in Page_Load). But that doesn't seem to matter because
when stepping through i never get to the Set call.
> If I create a demo that matches the description that you posted I do not get
> the problem that you got. Here is the demo:
[quoted text clipped - 65 lines]
> > > > >
> > > > > What am I doing wrong? Any help would be much appreciated.
Jaybuffet - 18 Feb 2006 04:37 GMT
That might be the problem. It seems on initial load in sets the obj property
and all other properties before Page_Load on the control. But after i change
the month it then does the user controls Page_Load first, then sets the
properties. What am i missing?
> If I create a demo that matches the description that you posted I do not get
> the problem that you got. Here is the demo:
[quoted text clipped - 65 lines]
> > > > >
> > > > > What am I doing wrong? Any help would be much appreciated.
Jaybuffet - 20 Feb 2006 14:34 GMT
Any ideas on how to make this work with the setting of control properties in
the Page_Load. Try adding another property to the control that is a bool and
then setting visibility on part of the control based on that property with
the object binding still. Does it make a difference if I am doing this in C#
with codebehind. I tried modifiying your example to
<script language="VB" runat="server">
Private _obj as ArrayList
Public Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs)
label1.Text = _obj.Item(0)
Label2.Text = _obj.Item(1)
Label3.Text = _obj.Item(2)
End Sub
Public WriteOnly Property obj() As ArrayList
Set(ByVal Value As ArrayList)
_obj = Value
End Set
End Property
</script>
but it never does the Page_Load, but in my project it does.
Thanks for your help.
> If I create a demo that matches the description that you posted I do not get
> the problem that you got. Here is the demo:
[quoted text clipped - 65 lines]
> > > > >
> > > > > What am I doing wrong? Any help would be much appreciated.
Phillip Williams - 21 Feb 2006 03:38 GMT
Ok, now I understand the problem that you have. Let me continue to use the
sample that I put on my website to explain the issue that you described.
1- The page_load event did not fire when you added it to my sample because
the control tag of my sample had the AutoEventWireUp = "false". To have
your modification that you added to the page_load working turn the
AutoEventWireUp to true.
2- Control load event fires after the web page Load event. This means that
when you request the page first time, the Page_load (of the main page) is
triggered, the data is composed and the Control is databound to the
arraylist. Then the Control's load event fires up and the repeater is
populated.
3- Upon postback, the Page_load event is fired but because I have a
condition If Not Page.IsPostBack Then do not load the data, the Control's
Load event is fired but there is no data. Then the
Calender.SelectionChanged event is fired, it populates the data but it does
not databind because you moved the databinding to the Page_Load which
happened earlier that than the data became available.
In other words, you got to pay attention to the sequence of events. Instead
of databinding upon page load, databind upon setting the obj value of the
child control.
---
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com
> Any ideas on how to make this work with the setting of control properties in
> the Page_Load. Try adding another property to the control that is a bool and
[quoted text clipped - 74 lines]
> > > > are passed (i.e. the showPass shows "true" when debugging)." Which control
> > > > are you referring to that has a null value? What are "static
fields"? And
> > > > what is "showPass"? Is "showPass" a customized property of your control?
> > > >
[quoted text clipped - 28 lines]
> > > > > >
> > > > > > What am I doing wrong? Any help would be much appreciated.