计划周末去钓鱼的地方叫 Ajax 。于是想到了最近很时髦的 Web 技术:Asynchronous JavaScript and XML (AJAX)。它的实质就是用 JavaScript 向服务器获取数据,然后更新网页的局部,而不是刷新整个网页。
ASP.NET 1.x 的 Post Back 和 View State 引进了个新的概念:服务器端的事件驱动编程模式,其副作用则是整个网页不断刷新。什么时候用 Post 什么时候用 Get (什么时候用 LinkButton 什么时候用 HyperLink ) 需要仔细设计清楚。ASP.NET 2.0 的 Script Callbacks 将再次引进新的概念 Refresh the Data, Not the Page,其核心思想就是 AJAX。
AJAX Wrapper for .NET 是个很有意思的程序,基本解决了通讯问题。它用 Attribute 来生成 JavaScript 调用服务器程序的接口(类似于 ASP.NET 用 [WebMethod] Attribute 处理 SOAP 调用)。它同时还解决了如何传送自定义对象。有了这两点,用 JavaScript 向服务器获取数据 (AJAX 定义1),很容易了。但是,在更新网页的局部 (AJAX 定义2) 方面仍然显得笨拙,或者说没有对策。
TrimPath 是个另一个有意思的程序,它在浏览器里面实现了个 Template Engine。把 FreeMarker, Velocity, Smarty 做到浏览器里面去了。
准备找个时间把这两个程序和在一起试试看,但是这个周末还是钓鱼去要紧 ...
ASP.NET 1.x 的 Post Back 和 View State 引进了个新的概念:服务器端的事件驱动编程模式,其副作用则是整个网页不断刷新。什么时候用 Post 什么时候用 Get (什么时候用 LinkButton 什么时候用 HyperLink ) 需要仔细设计清楚。ASP.NET 2.0 的 Script Callbacks 将再次引进新的概念 Refresh the Data, Not the Page,其核心思想就是 AJAX。
AJAX Wrapper for .NET 是个很有意思的程序,基本解决了通讯问题。它用 Attribute 来生成 JavaScript 调用服务器程序的接口(类似于 ASP.NET 用 [WebMethod] Attribute 处理 SOAP 调用)。它同时还解决了如何传送自定义对象。有了这两点,用 JavaScript 向服务器获取数据 (AJAX 定义1),很容易了。但是,在更新网页的局部 (AJAX 定义2) 方面仍然显得笨拙,或者说没有对策。
TrimPath 是个另一个有意思的程序,它在浏览器里面实现了个 Template Engine。把 FreeMarker, Velocity, Smarty 做到浏览器里面去了。
准备找个时间把这两个程序和在一起试试看,但是这个周末还是钓鱼去要紧 ...