How do I dynamically create user controls?

Posted: 06-25-2003, 03:36 PM
Thanks for any help...!

My error is:
Object reference not set to an instance of an object.
> public int DisplayOrder {
> get {
>>>>>> return (int) ViewState["DisplayOrder"];
> }

Here's the setup:
I have made a user control that displays a persons picture. Its like this:

AccountName
[PICTURE]
< 1 of 3 >

You can click the arrows to navigate pictures. The control is smart - you
assign the AccountName property and it hits the database, maintains state
with ViewState. I can put several of them on one page if I put them there
statically. When I do this dynamically, I get the above error.

Question:
I have made a repeater which takes a dataset that has a list of account
names in it. It creates one instance of my control for each name in the
list. My controls appear and render correctly. However, I get the above
error when you click on my navigation buttons. Part of the problem is each
instance of my user control has the same ID.

#1 - How can I get the repeater to assign a unique id for each control?

#2 - Is it the case that the state information won't be managed for me
because my controls are dynamic?

When I put multiple instances of my control statically on a page, it works
fine. When its in the repeater, it renders fine but then clicking on the
nav buttons to navigate pictures produces the error.

Thank you so much!


Reply With Quote

Responses to "How do I dynamically create user controls?"

David J. Berman
Guest
Posts: n/a
 
Re: How do I dynamically create user controls?
Posted: 06-30-2003, 07:24 PM
Thanks for the tip! I read about this on MSDN, google'd some examples and I
was able to get it to work. However, there is a glitch:

Suppose I have 10 instances of my picture control with the navigation
buttons underneath (because each person can have multiple pictures). When I
click those buttons each control updates correctly, however, the page seems
to refresh and scroll to the top. Can I make it so that the page doesn't
refresh but the control repaints itself?

My architecture is to have a .aspx page with a PersonList user control
sitting on it. That control is passed a list of accountnames (arraylist)
and for each name it loads a PersonPicture user control dynamically and adds
it to the page.

Thanks!



"RMD" <rmd@nospam.sorry.com> wrote in message
news:ekV8kZzODHA.1072@TK2MSFTNGP10.phx.gbl...
> Check out the Page.LoadControl method.
>
> RMD
>
> "David J. Berman" <David_Berman@bose.com> wrote in message
> news:ZjjKa.1$3j4.90@paloalto-snr1.gtei.net...
> > Thanks for any help...!
> >
> > My error is:
> > Object reference not set to an instance of an object.
> > > public int DisplayOrder {
> > > get {
> > >>>>>> return (int) ViewState["DisplayOrder"];
> > > }
> >
> >
> > Here's the setup:
> > I have made a user control that displays a persons picture. Its like
this:
> >
> > AccountName
> > [PICTURE]
> > < 1 of 3 >
> >
> > You can click the arrows to navigate pictures. The control is smart -
you
> > assign the AccountName property and it hits the database, maintains
state
> > with ViewState. I can put several of them on one page if I put them
there
> > statically. When I do this dynamically, I get the above error.
> >
> > Question:
> > I have made a repeater which takes a dataset that has a list of account
> > names in it. It creates one instance of my control for each name in the
> > list. My controls appear and render correctly. However, I get the
above
> > error when you click on my navigation buttons. Part of the problem is
> each
> > instance of my user control has the same ID.
> >
> > #1 - How can I get the repeater to assign a unique id for each control?
> >
> > #2 - Is it the case that the state information won't be managed for me
> > because my controls are dynamic?
> >
> > When I put multiple instances of my control statically on a page, it
> works
> > fine. When its in the repeater, it renders fine but then clicking on
the
> > nav buttons to navigate pictures produces the error.
> >
> > Thank you so much!
> >
> >
>
>

Reply With Quote
David J. Berman
Guest
Posts: n/a
 
Re: How do I dynamically create user controls?
Posted: 06-30-2003, 07:24 PM
Thanks for the tip! I read about this on MSDN, google'd some examples and I
was able to get it to work. However, there is a glitch:

Suppose I have 10 instances of my picture control with the navigation
buttons underneath (because each person can have multiple pictures). When I
click those buttons each control updates correctly, however, the page seems
to refresh and scroll to the top. Can I make it so that the page doesn't
refresh but the control repaints itself?

My architecture is to have a .aspx page with a PersonList user control
sitting on it. That control is passed a list of accountnames (arraylist)
and for each name it loads a PersonPicture user control dynamically and adds
it to the page.

Thanks!



"RMD" <rmd@nospam.sorry.com> wrote in message
news:ekV8kZzODHA.1072@TK2MSFTNGP10.phx.gbl...
> Check out the Page.LoadControl method.
>
> RMD
>
> "David J. Berman" <David_Berman@bose.com> wrote in message
> news:ZjjKa.1$3j4.90@paloalto-snr1.gtei.net...
> > Thanks for any help...!
> >
> > My error is:
> > Object reference not set to an instance of an object.
> > > public int DisplayOrder {
> > > get {
> > >>>>>> return (int) ViewState["DisplayOrder"];
> > > }
> >
> >
> > Here's the setup:
> > I have made a user control that displays a persons picture. Its like
this:
> >
> > AccountName
> > [PICTURE]
> > < 1 of 3 >
> >
> > You can click the arrows to navigate pictures. The control is smart -
you
> > assign the AccountName property and it hits the database, maintains
state
> > with ViewState. I can put several of them on one page if I put them
there
> > statically. When I do this dynamically, I get the above error.
> >
> > Question:
> > I have made a repeater which takes a dataset that has a list of account
> > names in it. It creates one instance of my control for each name in the
> > list. My controls appear and render correctly. However, I get the
above
> > error when you click on my navigation buttons. Part of the problem is
> each
> > instance of my user control has the same ID.
> >
> > #1 - How can I get the repeater to assign a unique id for each control?
> >
> > #2 - Is it the case that the state information won't be managed for me
> > because my controls are dynamic?
> >
> > When I put multiple instances of my control statically on a page, it
> works
> > fine. When its in the repeater, it renders fine but then clicking on
the
> > nav buttons to navigate pictures produces the error.
> >
> > Thank you so much!
> >
> >
>
>

Reply With Quote
 
LinkBack Thread Tools Search this Thread Display Modes
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 Off
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Data Dynamically in Combo Box sawnani Macromedia Flash Data Integration 1 04-05-2005 03:44 PM
Dynamically loading names in batches rabblerouser Macromedia Flash Data Integration 1 03-11-2005 03:27 PM
URL Atribute Dynamically Changing Query fidibidabah Coldfusion Database Access 1 03-04-2005 02:01 PM
HTML Controls and User controls trinitypete ASP.NET General 6 06-26-2003 09:47 AM
Positioning Dynamically added controls Harry ASP.NET General 1 06-25-2003 06:08 AM