2010-11-01 55 views
0

我正在尋找優化我們的應用程序內的頁面,使他們表現更好。我想動態地添加控件(文本框,按鈕,自定義控件等)到使用AJAX的頁面,以儘量減少回發。我正在尋找一種使用UpdatePanel的替代方法(對他們來說沒有任何問題,他們只是沒有爲性能而構建)。如何將控件異步添加到asp.net頁面?

但是,訣竅是ViewState需要添加新控件進行更新,所以我無法在此處看到WebServices或靜態頁面方法調用。

+0

如果您正在考慮這些優化,您應該考慮不使用ASP.NET AJAX,而是使用像jQuery這樣的框架來處理所有的Ajax。我不知道任何使用ASP.NET AJAX的高性能企業解決方案的專業.NET Web開發人員。 – SnickersAreMyFave 2010-11-01 23:05:23

回答

0

Ajax調用無法更新viewstate,因爲它是在代碼後面創建的。

也許如果你設法訪問viewstate服務器端,你可以在ajax調用中發送它並將它存儲在viewstate域中,但是你可能會丟失任何在回調中沒有觸及的東西,我從來沒有深入研究過視圖狀態。

+0

是的,這就是爲什麼我想過使用處理程序,因爲我仍然可以處理頁面請求。對頁面的Ajax調用不會實例化整個頁面進程。我很想知道任何人在這方面的經驗。 – Matt 2010-11-01 22:44:03

+0

您可以在Web方法中激活會話狀態,但我不知道視圖狀態是從頁面序列化的,除非所有控件都初始化,否則很難反序列化它。 – 2010-11-02 06:30:00