2

当您在浏览器中打开页面时,会在服务器上创建该页面的一个实例。但是,当您使用 AJAX 时,是否有人知道整个页面对象是否是在服务器上回发时创建的?

4

3 回答 3

2

当您使用 ASP.NET Ajax 时,AJAX 请求仍将处理所有代码隐藏代码,但是,唯一的呈现更新将是更新面板内的项目。

于 2008-10-20T13:57:42.220 回答
2

依靠。使用 UpdatePanel,页面被实例化并经历正常的生命周期,但只有您包装的控件被更新。如果您使用 PageMethods,它们是静态的,不需要对象实例化。

假设 ASP.NET AJAX,如果您使用另一个框架,答案无疑会有所不同。

于 2008-10-20T13:59:10.047 回答
1

这还取决于使用术语 AJAX 是指真正的 AJAX 还是 AJAX .NET 工具包,后者主要是一组 javascript 函数,其中 90% 左右并不是真正的 ajax。在大多数后来的控件中,整个页面都被调用,并且仅解析输出以获取所需的特定信息或部分。如果有异步 javascript 调用页面并对其进行解析,asp.net 页面将无法区分此调用和常规浏览器视图之间的区别(除非您对其进行编程以了解区别),所以在这种情况下,页面对象也将被创建。唯一不会处理整个页面的情况是调用 Web 方法或脚本方法时。

于 2008-10-20T14:04:23.797 回答