2010-11-01 56 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