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

PAGE_LOAD fired twice

P: n/a
RAJ
Posting this thread again, can somebody please help me with this. Thanks.

This event appears to be invoked twice for absolutely no reason on only one
of my ASP.Net web user controls. Although I've now overcome the problem by
overriding the base classes OnLoad routine, I could never figure out why
this event was being invoked twice.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

End Sub

It inherits from the following superclass:
System.Web.UI.UserControl

This is the scenario:

When this 'Page_Load' routine was invoked; the call stack as soon as the
procedure begins shows (when non-user code was viewed) that the base classes
OnLoad routine invoked (by doing what ever it does) it.

The strange thing happened when the routine was exiting; I even removed ALL
of the code from the routine and debugged it whilst dissassembly was shown,
and as soon as the routine exited (via the assembler instruction RET 4) the
routine would IMMEDIATELY invoke again!!!

INFACT, the routine didn't even exit! it immediately went back to the top of
the routine and ran again.

The second time it would reach the end of the procedure (instruction RET 4
again) and would correctly return back to the calling method (OnLoad).

This appeared to be completely unpredictable behaviour; as the containing
code was getting executed twice (since i am expecting only 1 page_load per
build/teardown per object).

I can only theorise that somewhere, unless its a logic error of my own (but
I tested it in a seperate ASP Page, with just the user control removing
LOADS of code to test it; still did it) that its unpredictable behaviour
caused by event handling references.

What I would like to know is this:

Is there any advantages/disadvantages to just overiding the base classes
OnLoad routine?

One obvious advantage is you can chose when to invoke the base classes
OnLoad routine to continue normal processing. But I can't find any
disadvantages!

Secondly, has anyone else experienced such behaviour?


Nov 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
It happens to that page only or all the pages? Check those properties that
you set for your server controls.
"RAJ" <an*******@discussions.microsoft.com> wrote in message
news:OW**************@TK2MSFTNGP12.phx.gbl...
Posting this thread again, can somebody please help me with this. Thanks.

This event appears to be invoked twice for absolutely no reason on only one of my ASP.Net web user controls. Although I've now overcome the problem by
overriding the base classes OnLoad routine, I could never figure out why
this event was being invoked twice.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

End Sub

It inherits from the following superclass:
System.Web.UI.UserControl

This is the scenario:

When this 'Page_Load' routine was invoked; the call stack as soon as the
procedure begins shows (when non-user code was viewed) that the base classes OnLoad routine invoked (by doing what ever it does) it.

The strange thing happened when the routine was exiting; I even removed ALL of the code from the routine and debugged it whilst dissassembly was shown, and as soon as the routine exited (via the assembler instruction RET 4) the routine would IMMEDIATELY invoke again!!!

INFACT, the routine didn't even exit! it immediately went back to the top of the routine and ran again.

The second time it would reach the end of the procedure (instruction RET 4
again) and would correctly return back to the calling method (OnLoad).

This appeared to be completely unpredictable behaviour; as the containing
code was getting executed twice (since i am expecting only 1 page_load per
build/teardown per object).

I can only theorise that somewhere, unless its a logic error of my own (but I tested it in a seperate ASP Page, with just the user control removing
LOADS of code to test it; still did it) that its unpredictable behaviour
caused by event handling references.

What I would like to know is this:

Is there any advantages/disadvantages to just overiding the base classes
OnLoad routine?

One obvious advantage is you can chose when to invoke the base classes
OnLoad routine to continue normal processing. But I can't find any
disadvantages!

Secondly, has anyone else experienced such behaviour?

Nov 18 '05 #2

P: n/a
RAJ
Thanks for your help, Trevor. Its sorted with the help of the URL you
posted.
"Trevor Benedict R" <tr********@yahoo.com> wrote in message
news:58**********************************@microsof t.com...
Checkout

http://www.extremeexperts.com/Net/FA...ringTwice.aspx

Regards

Trevor Benedict R
MCSD

----- RAJ wrote: -----

Posting this thread again, can somebody please help me with this. Thanks.
This event appears to be invoked twice for absolutely no reason on only one of my ASP.Net web user controls. Although I've now overcome the problem by overriding the base classes OnLoad routine, I could never figure out why this event was being invoked twice.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

End Sub

It inherits from the following superclass:
System.Web.UI.UserControl

This is the scenario:

When this 'Page_Load' routine was invoked; the call stack as soon as the procedure begins shows (when non-user code was viewed) that the base classes OnLoad routine invoked (by doing what ever it does) it.

The strange thing happened when the routine was exiting; I even removed ALL of the code from the routine and debugged it whilst dissassembly was shown, and as soon as the routine exited (via the assembler instruction RET 4) the routine would IMMEDIATELY invoke again!!!

INFACT, the routine didn't even exit! it immediately went back to the top of the routine and ran again.

The second time it would reach the end of the procedure (instruction RET 4 again) and would correctly return back to the calling method (OnLoad).
This appeared to be completely unpredictable behaviour; as the containing code was getting executed twice (since i am expecting only 1 page_load per build/teardown per object).

I can only theorise that somewhere, unless its a logic error of my own (but I tested it in a seperate ASP Page, with just the user control removing LOADS of code to test it; still did it) that its unpredictable behaviour caused by event handling references.

What I would like to know is this:

Is there any advantages/disadvantages to just overiding the base classes OnLoad routine?

One obvious advantage is you can chose when to invoke the base classes OnLoad routine to continue normal processing. But I can't find any
disadvantages!

Secondly, has anyone else experienced such behaviour?


Nov 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.