0

我搜索谷歌很多,以了解更新面板如何进行部分回发。如果我在更新面板内有一个按钮和一个标签,并且当我单击更新面板内的按钮时,则会发生部分回发并调用按钮单击服务器端事件。如果按钮单击例程更改标签值,那么我们在部分回发后得到效果......我只需要更新面板如何调用服务器端函数并读取响应并在客户端更新控制 UI .. 它生成和调用什么样的 javascript进行部分回发以及它如何更新 UI。

如果可能的话,请使用更新面板生成的用于处理所有回发和 UI 更新的示例 javascript 详细讨论这一切。谢谢

4

1 回答 1

0

如果您完全不熟悉 AJAX(代表异步 Javascript 和 XML),维基百科上的AJAX条目是一个很好的起点,还有更多链接,例如Link1Link2

Like DHTML and LAMP, AJAX is not a technology in itself, but a group of technologies. AJAX uses a combination of:

    HTML and CSS for marking up and styling information.
    The DOM accessed with JavaScript to dynamically display and interact with the information presented.
    A method for exchanging data asynchronously between browser and server, thereby avoiding page reloads. The XMLHttpRequest (XHR) object is usually used, but sometimes an IFrame object or a dynamically added tag is used instead.
    A format for the data sent to the browser. Common formats include XML, pre-formatted HTML, plain text, and JavaScript Object Notation (JSON). This data could be created dynamically by some form of server-side scripting.

如您所见,从纯粹的技术角度来看,这里并没有什么新东西。大多数 AJAX 部分在 1994 年就已经存在(1999 年用于 XMLHttpRequest 对象)。真正的新颖之处在于将这些部分一起使用,就像 Google 对 GMail (2004) 和 Google Maps (2005) 所做的那样。实际上,这两个网站都对 AJAX 的推广做出了重大贡献。

一张价值千言万语的图片,下图说明了客户端和远程服务器之间的通信,以及经典应用程序和基于 AJAX 的应用程序之间的区别:

替代文字

对于橙色部分,您可以手动完成所有操作(使用 XMLHttpRequest 对象),或者您可以使用著名的 JavaScript 库(如 jQuery、Prototype、YUI 等)来“AJAXify”应用程序的客户端。这样的库旨在隐藏 JavaScript 开发的复杂性(例如跨浏览器兼容性),但对于一个简单的功能来说可能是矫枉过正。

在服务器端,一些框架也可以提供帮助(例如,如果您使用 Java,则为 DWR 或 RAJAX),但您需要做的基本上是公开一个仅返回所需信息以部分更新页面的服务(最初作为 XML /XHTML - AJAX 中的 X - 但现在通常首选 JSON)。

于 2012-06-14T07:05:26.730 回答