By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,218 Members | 1,111 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,218 IT Pros & Developers. It's quick & easy.

How do I dynamically create user controls?

P: n/a
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!
Nov 17 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
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" <rm*@nospam.sorry.com> wrote in message
news:ek**************@TK2MSFTNGP10.phx.gbl...
Check out the Page.LoadControl method.

RMD

"David J. Berman" <Da**********@bose.com> wrote in message
news:Zj************@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!


Nov 17 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.