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

Page_Load Event fires twice....sometimes!

P: n/a
Hi all,

I'm experiencing a rather strange problem:

I am coding a web application using VB.net ASP.net and Visual Studio
2003.
It's quite a large application, but the problem only occurs on one of
the Web User Controls.

This particular Web User Control has some text entry fields in it,
drop-downs etc... and a button which brings up a pop-up form.
The pop-up form is used to add a new entry into one of the listboxes
on the 'parent' form. The pop-up is a modal (created using
window.showmodaldialog), and when it's closed, the 'parent' form is
resubmitted using javascript, and the listbox repopulated to show the
newly added item(s).
All this is working fine.

However, on some occasions (and I can't work out what differences
are), when the pop-up form closes, the parent page loads and the page
events fire in the following sequence:
- Page_Load
- Page_Load checks if postback=true, then loads a listbox control with
the items that need to be in it.
- Page_Load fires again....

Now this appears to be happening randomly, and when this happens, the
listbox does not contain the newly-added entries.
On some occasions (I am doing exactly the same procedure to add
items), the Page_Load event does not fire the second time, and the
listbox contains all the entries that it should.

This is driving me crazy! I can't understand why it sometimes does it
and sometimes does not...

I have searched newsgroups for an answer, and the majority say that
this problem is caused by setting the AutoEventWireUp page directive
attribute to true. I have checked, and it is set to false in the
control and the hosting page.

If anyone has any ideas and/or suggestion, that would be greatly
appreciated.

Thanks in advance,

David
Nov 19 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
David, I experienced such a problemn some time. It was rather big
application too and I used there coroporate libraries. The trick was that I
had to inherit the control calss from that library when creating my new one.
It was very impotrant there to ovverride Page_Load event handler and fire
base.Page_Load (sender, e) within this handler.
Check it out.
Hope it will help.

--

Vlad

"doobdave" <do******@yahoo.com> wrote in message
news:9f**************************@posting.google.c om...
Hi all,

I'm experiencing a rather strange problem:

I am coding a web application using VB.net ASP.net and Visual Studio
2003.
It's quite a large application, but the problem only occurs on one of
the Web User Controls.

This particular Web User Control has some text entry fields in it,
drop-downs etc... and a button which brings up a pop-up form.
The pop-up form is used to add a new entry into one of the listboxes
on the 'parent' form. The pop-up is a modal (created using
window.showmodaldialog), and when it's closed, the 'parent' form is
resubmitted using javascript, and the listbox repopulated to show the
newly added item(s).
All this is working fine.

However, on some occasions (and I can't work out what differences
are), when the pop-up form closes, the parent page loads and the page
events fire in the following sequence:
- Page_Load
- Page_Load checks if postback=true, then loads a listbox control with
the items that need to be in it.
- Page_Load fires again....

Now this appears to be happening randomly, and when this happens, the
listbox does not contain the newly-added entries.
On some occasions (I am doing exactly the same procedure to add
items), the Page_Load event does not fire the second time, and the
listbox contains all the entries that it should.

This is driving me crazy! I can't understand why it sometimes does it
and sometimes does not...

I have searched newsgroups for an answer, and the majority say that
this problem is caused by setting the AutoEventWireUp page directive
attribute to true. I have checked, and it is set to false in the
control and the hosting page.

If anyone has any ideas and/or suggestion, that would be greatly
appreciated.

Thanks in advance,

David

Nov 19 '05 #2

P: n/a
Hi Vladimir,

Thanks for replying.

This problem is really driving me nuts!!
I can't understand why sometimes the page works fine, and other times
(even in the same session) the Page_Load fires twice.

I'm not sure if your suggestion applies in this case, as I have several
other user controls that use the same template, and none of them
display this behaviour.
If you have any more ideas, I would be extremely grateful.
Regards,
David

Nov 19 '05 #3

P: n/a
do******@yahoo.com < do******@yahoo.com > wrote:
If you have any more ideas, I would be extremely grateful.


I don't know if this will necessarily help you or not, but I always, ALWAYS,
get rid of that stupid Page_Load method in .aspx.cs files because if you
look closely, that is essentially an event handler wired up by the page
itself in the Windows Form Designer generated region (or whatever it's
called), I think in InitializeComponent(). This is unneccessary overhead (a
page listening for its own events). It's much better to just delete this
line from InitializeComponent:

this.Load += ...

and instead override the OnLoad method:

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//whatever else you were going to do in Page_Load
}
I've never had problems with double Page_Loads since using this technique.


Nov 19 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.