Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Custom control within repeater with custom object binding - .net 1

Reply
Thread Tools

Custom control within repeater with custom object binding - .net 1

 
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-16-2006
my aspx has something like this

<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
showItem="true"/>
</ItemTemplate>
/asp:Repeater>

The DataSource for this Repeater is a CollectionBase of objects and is
assigned and bound on Page_Load.

Now I have a Calendar control that fires a SelectionChanged. I want that to
crate a new Collection of objects based on the selected date and rebound.
However it doesn't seem to keep the Container.DataItem. The control shows a
null object however the static fields are passed (i.e. the showPass shows
"true" when debugging).

What am I doing wrong? Any help would be much appreciated.

 
Reply With Quote
 
 
 
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-16-2006
Let me clarify.. my SelectionChanged method has

db = new dbHelper();
Repeater1.DataSource = db.GetObjects();
Repeater1.DataBind()

This doesn't work.

"Jaybuffet" wrote:

> my aspx has something like this
>
> <asp:Repeater id="Repeater1" runat="server">
> <ItemTemplate>
> <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> showItem="true"/>
> </ItemTemplate>
> /asp:Repeater>
>
> The DataSource for this Repeater is a CollectionBase of objects and is
> assigned and bound on Page_Load.
>
> Now I have a Calendar control that fires a SelectionChanged. I want that to
> crate a new Collection of objects based on the selected date and rebound.
> However it doesn't seem to keep the Container.DataItem. The control shows a
> null object however the static fields are passed (i.e. the showPass shows
> "true" when debugging).
>
> What am I doing wrong? Any help would be much appreciated.
>

 
Reply With Quote
 
 
 
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-16-2006
I'm new to the newsgroups, do questions get answered usually here or is there
a more active site i should try posting to?

Thanks you

"Jaybuffet" wrote:

> my aspx has something like this
>
> <asp:Repeater id="Repeater1" runat="server">
> <ItemTemplate>
> <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> showItem="true"/>
> </ItemTemplate>
> /asp:Repeater>
>
> The DataSource for this Repeater is a CollectionBase of objects and is
> assigned and bound on Page_Load.
>
> Now I have a Calendar control that fires a SelectionChanged. I want that to
> crate a new Collection of objects based on the selected date and rebound.
> However it doesn't seem to keep the Container.DataItem. The control shows a
> null object however the static fields are passed (i.e. the showPass shows
> "true" when debugging).
>
> What am I doing wrong? Any help would be much appreciated.
>

 
Reply With Quote
 
=?Utf-8?B?UGhpbGxpcCBXaWxsaWFtcw==?=
Guest
Posts: n/a
 
      02-16-2006
Questions get answered fairly quickly here. Your question however has a few
ambiguities:

1- when you say "However it doesn't seem to keep the Container.DataItem" you
did not clarify what are you referring to. If you are referring to the
Calender that is within the RepeaterItem then what method are you using and
in which event are you attempting to get the DataItem?

2- when you say "The control shows a null object however the static fields
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?

--
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com


"Jaybuffet" wrote:

> I'm new to the newsgroups, do questions get answered usually here or is there
> a more active site i should try posting to?
>
> Thanks you
>
> "Jaybuffet" wrote:
>
> > my aspx has something like this
> >
> > <asp:Repeater id="Repeater1" runat="server">
> > <ItemTemplate>
> > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > showItem="true"/>
> > </ItemTemplate>
> > /asp:Repeater>
> >
> > The DataSource for this Repeater is a CollectionBase of objects and is
> > assigned and bound on Page_Load.
> >
> > Now I have a Calendar control that fires a SelectionChanged. I want that to
> > crate a new Collection of objects based on the selected date and rebound.
> > However it doesn't seem to keep the Container.DataItem. The control shows a
> > null object however the static fields are passed (i.e. the showPass shows
> > "true" when debugging).
> >
> > What am I doing wrong? Any help would be much appreciated.
> >

 
Reply With Quote
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-16-2006
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!!

"Phillip Williams" wrote:

> Questions get answered fairly quickly here. Your question however has a few
> ambiguities:
>
> 1- when you say "However it doesn't seem to keep the Container.DataItem" you
> did not clarify what are you referring to. If you are referring to the
> Calender that is within the RepeaterItem then what method are you using and
> in which event are you attempting to get the DataItem?
>
> 2- when you say "The control shows a null object however the static fields
> 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?
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Jaybuffet" wrote:
>
> > I'm new to the newsgroups, do questions get answered usually here or is there
> > a more active site i should try posting to?
> >
> > Thanks you
> >
> > "Jaybuffet" wrote:
> >
> > > my aspx has something like this
> > >
> > > <asp:Repeater id="Repeater1" runat="server">
> > > <ItemTemplate>
> > > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > > showItem="true"/>
> > > </ItemTemplate>
> > > /asp:Repeater>
> > >
> > > The DataSource for this Repeater is a CollectionBase of objects and is
> > > assigned and bound on Page_Load.
> > >
> > > Now I have a Calendar control that fires a SelectionChanged. I want that to
> > > crate a new Collection of objects based on the selected date and rebound.
> > > However it doesn't seem to keep the Container.DataItem. The control shows a
> > > null object however the static fields are passed (i.e. the showPass shows
> > > "true" when debugging).
> > >
> > > What am I doing wrong? Any help would be much appreciated.
> > >

 
Reply With Quote
 
=?Utf-8?B?UGhpbGxpcCBXaWxsaWFtcw==?=
Guest
Posts: n/a
 
      02-16-2006
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).

--
HTH,
Phillip Williams
http://www.societopia.net
http://www.webswapp.com


"Jaybuffet" wrote:

> 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!!
>
> "Phillip Williams" wrote:
>
> > Questions get answered fairly quickly here. Your question however has a few
> > ambiguities:
> >
> > 1- when you say "However it doesn't seem to keep the Container.DataItem" you
> > did not clarify what are you referring to. If you are referring to the
> > Calender that is within the RepeaterItem then what method are you using and
> > in which event are you attempting to get the DataItem?
> >
> > 2- when you say "The control shows a null object however the static fields
> > 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?
> >
> > --
> > HTH,
> > Phillip Williams
> > http://www.societopia.net
> > http://www.webswapp.com
> >
> >
> > "Jaybuffet" wrote:
> >
> > > I'm new to the newsgroups, do questions get answered usually here or is there
> > > a more active site i should try posting to?
> > >
> > > Thanks you
> > >
> > > "Jaybuffet" wrote:
> > >
> > > > my aspx has something like this
> > > >
> > > > <asp:Repeater id="Repeater1" runat="server">
> > > > <ItemTemplate>
> > > > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > > > showItem="true"/>
> > > > </ItemTemplate>
> > > > /asp:Repeater>
> > > >
> > > > The DataSource for this Repeater is a CollectionBase of objects and is
> > > > assigned and bound on Page_Load.
> > > >
> > > > Now I have a Calendar control that fires a SelectionChanged. I want that to
> > > > crate a new Collection of objects based on the selected date and rebound.
> > > > However it doesn't seem to keep the Container.DataItem. The control shows a
> > > > null object however the static fields are passed (i.e. the showPass shows
> > > > "true" when debugging).
> > > >
> > > > What am I doing wrong? Any help would be much appreciated.
> > > >

 
Reply With Quote
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-18-2006
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.

"Phillip Williams" wrote:

> 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).
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Jaybuffet" wrote:
>
> > 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!!
> >
> > "Phillip Williams" wrote:
> >
> > > Questions get answered fairly quickly here. Your question however has a few
> > > ambiguities:
> > >
> > > 1- when you say "However it doesn't seem to keep the Container.DataItem" you
> > > did not clarify what are you referring to. If you are referring to the
> > > Calender that is within the RepeaterItem then what method are you using and
> > > in which event are you attempting to get the DataItem?
> > >
> > > 2- when you say "The control shows a null object however the static fields
> > > 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?
> > >
> > > --
> > > HTH,
> > > Phillip Williams
> > > http://www.societopia.net
> > > http://www.webswapp.com
> > >
> > >
> > > "Jaybuffet" wrote:
> > >
> > > > I'm new to the newsgroups, do questions get answered usually here or is there
> > > > a more active site i should try posting to?
> > > >
> > > > Thanks you
> > > >
> > > > "Jaybuffet" wrote:
> > > >
> > > > > my aspx has something like this
> > > > >
> > > > > <asp:Repeater id="Repeater1" runat="server">
> > > > > <ItemTemplate>
> > > > > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > > > > showItem="true"/>
> > > > > </ItemTemplate>
> > > > > /asp:Repeater>
> > > > >
> > > > > The DataSource for this Repeater is a CollectionBase of objects and is
> > > > > assigned and bound on Page_Load.
> > > > >
> > > > > Now I have a Calendar control that fires a SelectionChanged. I want that to
> > > > > crate a new Collection of objects based on the selected date and rebound.
> > > > > However it doesn't seem to keep the Container.DataItem. The control shows a
> > > > > null object however the static fields are passed (i.e. the showPass shows
> > > > > "true" when debugging).
> > > > >
> > > > > What am I doing wrong? Any help would be much appreciated.
> > > > >

 
Reply With Quote
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-18-2006
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?

"Phillip Williams" wrote:

> 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).
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Jaybuffet" wrote:
>
> > 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!!
> >
> > "Phillip Williams" wrote:
> >
> > > Questions get answered fairly quickly here. Your question however has a few
> > > ambiguities:
> > >
> > > 1- when you say "However it doesn't seem to keep the Container.DataItem" you
> > > did not clarify what are you referring to. If you are referring to the
> > > Calender that is within the RepeaterItem then what method are you using and
> > > in which event are you attempting to get the DataItem?
> > >
> > > 2- when you say "The control shows a null object however the static fields
> > > 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?
> > >
> > > --
> > > HTH,
> > > Phillip Williams
> > > http://www.societopia.net
> > > http://www.webswapp.com
> > >
> > >
> > > "Jaybuffet" wrote:
> > >
> > > > I'm new to the newsgroups, do questions get answered usually here or is there
> > > > a more active site i should try posting to?
> > > >
> > > > Thanks you
> > > >
> > > > "Jaybuffet" wrote:
> > > >
> > > > > my aspx has something like this
> > > > >
> > > > > <asp:Repeater id="Repeater1" runat="server">
> > > > > <ItemTemplate>
> > > > > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > > > > showItem="true"/>
> > > > > </ItemTemplate>
> > > > > /asp:Repeater>
> > > > >
> > > > > The DataSource for this Repeater is a CollectionBase of objects and is
> > > > > assigned and bound on Page_Load.
> > > > >
> > > > > Now I have a Calendar control that fires a SelectionChanged. I want that to
> > > > > crate a new Collection of objects based on the selected date and rebound.
> > > > > However it doesn't seem to keep the Container.DataItem. The control shows a
> > > > > null object however the static fields are passed (i.e. the showPass shows
> > > > > "true" when debugging).
> > > > >
> > > > > What am I doing wrong? Any help would be much appreciated.
> > > > >

 
Reply With Quote
 
=?Utf-8?B?SmF5YnVmZmV0?=
Guest
Posts: n/a
 
      02-20-2006
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.

"Phillip Williams" wrote:

> 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).
>
> --
> HTH,
> Phillip Williams
> http://www.societopia.net
> http://www.webswapp.com
>
>
> "Jaybuffet" wrote:
>
> > 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!!
> >
> > "Phillip Williams" wrote:
> >
> > > Questions get answered fairly quickly here. Your question however has a few
> > > ambiguities:
> > >
> > > 1- when you say "However it doesn't seem to keep the Container.DataItem" you
> > > did not clarify what are you referring to. If you are referring to the
> > > Calender that is within the RepeaterItem then what method are you using and
> > > in which event are you attempting to get the DataItem?
> > >
> > > 2- when you say "The control shows a null object however the static fields
> > > 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?
> > >
> > > --
> > > HTH,
> > > Phillip Williams
> > > http://www.societopia.net
> > > http://www.webswapp.com
> > >
> > >
> > > "Jaybuffet" wrote:
> > >
> > > > I'm new to the newsgroups, do questions get answered usually here or is there
> > > > a more active site i should try posting to?
> > > >
> > > > Thanks you
> > > >
> > > > "Jaybuffet" wrote:
> > > >
> > > > > my aspx has something like this
> > > > >
> > > > > <asp:Repeater id="Repeater1" runat="server">
> > > > > <ItemTemplate>
> > > > > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > > > > showItem="true"/>
> > > > > </ItemTemplate>
> > > > > /asp:Repeater>
> > > > >
> > > > > The DataSource for this Repeater is a CollectionBase of objects and is
> > > > > assigned and bound on Page_Load.
> > > > >
> > > > > Now I have a Calendar control that fires a SelectionChanged. I want that to
> > > > > crate a new Collection of objects based on the selected date and rebound.
> > > > > However it doesn't seem to keep the Container.DataItem. The control shows a
> > > > > null object however the static fields are passed (i.e. the showPass shows
> > > > > "true" when debugging).
> > > > >
> > > > > What am I doing wrong? Any help would be much appreciated.
> > > > >

 
Reply With Quote
 
Phillip Williams
Guest
Posts: n/a
 
      02-21-2006
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

"Jaybuffet" <(E-Mail Removed)> wrote:
> 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.
>
> "Phillip Williams" wrote:
>
> > 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).
> >
> > --
> > HTH,
> > Phillip Williams
> > http://www.societopia.net
> > http://www.webswapp.com
> >
> >
> > "Jaybuffet" wrote:
> >
> > > 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!!
> > >
> > > "Phillip Williams" wrote:
> > >
> > > > Questions get answered fairly quickly here. Your question however

has a few
> > > > ambiguities:
> > > >
> > > > 1- when you say "However it doesn't seem to keep the

Container.DataItem" you
> > > > did not clarify what are you referring to. If you are referring to

the
> > > > Calender that is within the RepeaterItem then what method are you

using and
> > > > in which event are you attempting to get the DataItem?
> > > >
> > > > 2- when you say "The control shows a null object however the static

fields
> > > > 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?
> > > >
> > > > --
> > > > HTH,
> > > > Phillip Williams
> > > > http://www.societopia.net
> > > > http://www.webswapp.com
> > > >
> > > >
> > > > "Jaybuffet" wrote:
> > > >
> > > > > I'm new to the newsgroups, do questions get answered usually here

or is there
> > > > > a more active site i should try posting to?
> > > > >
> > > > > Thanks you
> > > > >
> > > > > "Jaybuffet" wrote:
> > > > >
> > > > > > my aspx has something like this
> > > > > >
> > > > > > <asp:Repeater id="Repeater1" runat="server">
> > > > > > <ItemTemplate>
> > > > > > <mycontrol:ctl id="ctlId" obj='<%# Container.DataItem %>'
> > > > > > showItem="true"/>
> > > > > > </ItemTemplate>
> > > > > > /asp:Repeater>
> > > > > >
> > > > > > The DataSource for this Repeater is a CollectionBase of objects

and is
> > > > > > assigned and bound on Page_Load.
> > > > > >
> > > > > > Now I have a Calendar control that fires a SelectionChanged. I

want that to
> > > > > > crate a new Collection of objects based on the selected date and

rebound.
> > > > > > However it doesn't seem to keep the Container.DataItem. The

control shows a
> > > > > > null object however the static fields are passed (i.e. the

showPass shows
> > > > > > "true" when debugging).
> > > > > >
> > > > > > What am I doing wrong? Any help would be much appreciated.
> > > > > >



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Can I use the value of a bound data item within repeater, without binding it? mark4asp ASP .Net 1 12-03-2007 06:51 PM
Binding Repeater to custom object collection Weston Weems ASP .Net 1 09-30-2004 07:12 PM
binding user control to repeater web control MeiMei ASP .Net 0 01-20-2004 12:00 AM
binding user control to Repeater web control MeiMei ASP .Net Datagrid Control 0 01-19-2004 11:59 PM
ControlDesigner not invoked on custom control when control is rendered within another custom control Matt Sokol ASP .Net Building Controls 2 08-07-2003 07:13 AM



Advertisments