The more I use ASP.NET, the more if (!IsPostBack) {}
seems pointless...
First example:
For example, I just Googled an issue, they said use this as part of the solution:
if (!Page.IsPostBack)
{
Page.LoadComplete += new EventHandler(Page_LoadComplete);
}
Which does exactly as coded, LoadComplete will only fire on the first load. After clicking a button, or anything that triggers a postback, the LoadComplete event is left unhooked, thus skipping the event handler. Therefore, their "fix" only works upon the first load = worthless. I promptly commented out the if (!Page.IsPostBack) {}
and now the event always triggers as desired.
Second example:
I am attempting to hook events to a dynamically created button (which by the way, I can't get to work [GRR!]). I see examples showing this:
myEditToggleButton = new Button();
myEditToggleButton.ID = "editToggleButton";
//^GOTTA HAVE THIS FOR EVENTS TO WORK! (supposedly, I haven't seen it work...)
if (!IsPostBack)
{
myEditToggleButton.Click += new EventHandler(myEditToggleButton_Click);
}
Controls.Add(myEditToggleButton);
Like the first example, my understanding is that the event wouldn't be hooked after the first page load, thus the button is "inert" after one click (because clicking triggered a postback).
Question:
When should you use if (!IsPostBack) {}
? I am guessing it has to do with mark-up created controls only.