Из моего понимания, прочитав об асинхронных страницах ASP.NET, метод, который выполняется при запуске асинхронной задачи ВСЕГДА ИСПОЛНИТЕ между предварительным рендерингом и предварительным рендерингом. Так что, поскольку события элементов управления страницы выполняются между загрузкой страницы и событиями предварительного прослушивания, верно ли, что независимо от того, какой начальный обработчик задачи (обработчик для BeginAsync ниже) создает, он не может использоваться в событиях элементов управления? Так, например, если обработчик получает данные из базы данных, данные не могут использоваться ни в одном из событий обратной передачи элементов управления? Не могли бы вы привязать данные к управлению данными после prerender?Примеры использования страниц PageAsyncTask (страницы Asynchronous asp.net)
PageAsyncTask pat = new PageAsyncTask(BeginAsync, EndAsync, null, null, true);
this.RegisterAsyncTask(pat);
@ Guffa Guffa, вы просто неверны в ** всех ** учетных записях и просто сбиваете с толку людей: страница ** делает ** дожидаться 'PageAsyncTask (если они не тайм-аут), а 'Page_PreRenderComplete' ** гарантирован ** для запуска только после этого. Только новые потоки и асинхронные методы, которые ** не ** зарегистрированы как «PageAsyncTask», не препятствуют заполнению страницы и возврату в браузер. Страница отображается только на 'Page_Render', поэтому вы ** можете надежно ** изменять любой элемент управления до начала этого события. Для элементов управления жизненным циклом страницы и элементов управления, связанных с данными, см .: http://msdn.microsoft.com/en-us/library/ms178472.aspx –
Ваша ссылка также мертва, она ведет меня к тому же месту, которое делает Тони. – MadSkunk
@MadSkunk это текст под названием Wicked Code: Масштабируемые приложения с асинхронным программированием в ASP.NET от Dino Esposito, и вы можете загрузить весь журнал MSDN March 2007 здесь: http://download.microsoft.com/download/3/ А/7/3A7FA450-1F33-41F7-9E6D-3AA95B5A6AEA/MSDNMagazineMarch2007en-us.chm –