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

Pass a form value from a user control to parent control - Event Order issues

P: n/a
I have a user control that contains a dropdown which I want to use as a
menu on multiple .aspx pages. Basically, all I am trying to do is pass
the selected value of the dropdown in the user control to the main
..aspx page.

In an attempt to make it more clear on what I am talking about, here is
the order of events in page life cycle (from
http://www.dotnetspider.com/technology/KBPages/789.aspx)
..ascx - OnInit()
..ascx - Page_Init()
..aspx - OnInit()
..aspx - Page_Init()
..aspx - Page_Load()
..ascx - Page_Load()
..ascx or .aspx control events
..aspx - Page_PreRender()
..ascx - Page_PreRender()
..ascx - Page_Unload()
..aspx - Page_Unload()

The problem that I am having is that I can't get the value of the
currently selected option of the dropdown until the ".ascx -
Page_Load()" event, but that doesn't occur until after the ".aspx
- Page_Load()" which is too late.

I experimented with trying to get the value by overriding the
LoadViewState event of the user control(which occurs between
Page_Init() and and Page_Load() but then everything seems to be one
page behind.

So here is my question: How can I pass a form value from a user
control to its parent control when the user control's events are
processed AFTER its parent's events?

It seems to me my only options are:
1) Find a way to get the value before the Page_Onload() event
2) Do all of the code work on the main .aspx page in the
Page_PreRender() phase (is there anything wrong with this?)

I come from a regular asp (vbscript) background so I know that I
sometimes go about these things all wrong. What is the best solution?

BTW, I am referencing a public integer from the user control from the
main page with the following line: MyMenu =
DirectCast(FindControl("user_menu1"), user_menu) Is there a better way?
Any help would be appreciated!

-Aeron

Nov 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.