Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Controls.Count, Controls.IsSynchronized, and Controls.SyncRoot

Reply
Thread Tools

Controls.Count, Controls.IsSynchronized, and Controls.SyncRoot

 
 
Nathan Sokalski
Guest
Posts: n/a
 
      09-04-2007
I have a section of my code in which I need to know how many child controls
a control has. Right now Controls.Count is returning the wrong value, which
I realize is because Controls.IsSynchronized is False. After spending a few
hours trying to figure out how I could determine the number of child
controls, I discovered that Controls.SyncRoot is somehow involved, but I had
trouble understanding exactly what I need to do. Could somebody please help
me? Thanks.
--
Nathan Sokalski
http://www.velocityreviews.com/forums/(E-Mail Removed)
http://www.nathansokalski.com/


 
Reply With Quote
 
 
 
 
bruce barker
Guest
Posts: n/a
 
      09-04-2007
you are on the wrong track. unless you are spinning up new threads
during a page request and those threads are adding child controls, there
is no need to use Controls.IsSynchronized.

Controls.Count is only your controls immediate count. each of its child
controls can have children. also when you test it, all the children may
not be created.

what makes you think the count is wrong?

-- bruce (sqlwork.com)


Nathan Sokalski wrote:
> I have a section of my code in which I need to know how many child controls
> a control has. Right now Controls.Count is returning the wrong value, which
> I realize is because Controls.IsSynchronized is False. After spending a few
> hours trying to figure out how I could determine the number of child
> controls, I discovered that Controls.SyncRoot is somehow involved, but I had
> trouble understanding exactly what I need to do. Could somebody please help
> me? Thanks.

 
Reply With Quote
 
 
 
 
Muhammad Naveed Yaseen
Guest
Posts: n/a
 
      09-05-2007
> I have a section of my code in which I need to know how many child controls
> a control has. Right now Controls.Count is returning the wrong value, which


Just a couple of points to consider,,,,

1) Controls.Count is the count of only immediate children, not the
grand-children.

2) Plain text (sometimes even a space), which apparently may not look
like control, become controls. To add complexity, it is not guaranteed
how many controls would this text divide into.

 
Reply With Quote
 
Nathan Sokalski
Guest
Posts: n/a
 
      09-05-2007
I know the count is wrong, because first of all, I used the Controls.Add()
method to add multiple Controls, so I know that there are more than 1. Also,
I did a Debug and looked at the Controls.Count property immediately before
and immediately after adding the control, and it had changed from 1 to 2.
And yet, on the next postback that same Control had a Controls.Count value
of 1 again instead of remaining at 2. This did not make since to me, so the
only possibility I could come up with (although I admit I have very little
experience with threads and synchronization, even though this is not a
multi-threaded application) was that it had something to do with all the
synchronization stuff I found while trying to find an answer. I'm totally
confused about this now. Any ideas?
--
Nathan Sokalski
(E-Mail Removed)
http://www.nathansokalski.com/

"bruce barker" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> you are on the wrong track. unless you are spinning up new threads during
> a page request and those threads are adding child controls, there is no
> need to use Controls.IsSynchronized.
>
> Controls.Count is only your controls immediate count. each of its child
> controls can have children. also when you test it, all the children may
> not be created.
>
> what makes you think the count is wrong?
>
> -- bruce (sqlwork.com)
>
>
> Nathan Sokalski wrote:
>> I have a section of my code in which I need to know how many child
>> controls a control has. Right now Controls.Count is returning the wrong
>> value, which I realize is because Controls.IsSynchronized is False. After
>> spending a few hours trying to figure out how I could determine the
>> number of child controls, I discovered that Controls.SyncRoot is somehow
>> involved, but I had trouble understanding exactly what I need to do.
>> Could somebody please help me? Thanks.



 
Reply With Quote
 
Muhammad Naveed Yaseen
Guest
Posts: n/a
 
      09-05-2007
> And yet, on the next postback that same Control had a Controls.Count value
> of 1 again instead of remaining at 2.


Dynamically added controls do not survive post back. They need to be
added again in every postback.

 
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
if and and vs if and,and titi VHDL 4 03-11-2007 05:23 AM



Advertisments