Реализация IsPostBack в загрузке страницы

Чем больше я использую ASP.NET, тем большеif (!IsPostBack) {} кажется бессмысленным ...

Первый пример:

Например, я просто погуглил проблему, они сказали использовать это как часть решения:

if (!Page.IsPostBack)
{
   Page.LoadComplete += new EventHandler(Page_LoadComplete);
}

Что делает именно так, как закодировано, LoadComplete будет срабатывать только при первой загрузке. После нажатия кнопки или чего-либо, что вызывает обратную передачу, событие LoadComplete остается отцепленным, таким образом пропуская обработчик события. Поэтому их «исправление» работает только при первой загрузке = ничего не стоит. Я быстро прокомментировалif (!Page.IsPostBack) {} и теперь событие всегда срабатывает по желанию.

Второй пример:

Я пытаюсь привязать события к динамически создаваемой кнопке (что, кстати, я не могу заставить работать [GRR!]). Я вижу примеры, показывающие это:

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);

Как и в первом примере, я понимаю, что событие не будет перехвачено после загрузки первой страницы, поэтому кнопка «инертна» после одного нажатия (потому что нажатие вызвало обратную передачу).

Вопрос:

Когда вы должны использоватьif (!IsPostBack) {}? Я предполагаю, что это имеет отношение только к элементам управления, созданным на разметке.

Ответы на вопрос(8)

Ваш ответ на вопрос