现在关于ajax的话题很热。这里推荐另一种ajax的实现。
ComponentArt3.0已经发布(here),其中新增了一个组件callback for asp.Net。这是一个类似于ajax的解决方案。可以让我们很容易实现静态页面刷新。
看了相关demo,感觉这个组件使用起来非常简洁实用;(呵呵,很回赚钱,这个东东单独买要$349)
我了帮助理解这个组件的使用,我画了这个草图。
在服务端我们的代码:
<ComponentArt:CallBack ID="CallBack1" CssClass="CallBack" Width="450" Height="250"
runat="server" OnCallback="CallBack1_Callback">
<Content>
</Content>
<LoadingPanelClientTemplate>
</LoadingPanelClientTemplate>
</ComponentArt:CallBack>
content 是页面第一次被调用将要输出的内容;可以是任何内容;
LoadingPanelClientTemplate的内容是在客户端执行callback脚本时候,页面上呈现的内容,一般提示用户,请等待.....。
客户端代码调用为: CallBack1.Callback(param);
1、当执行这个调用后,框架将通过xmlhttp,将调用发送到服务端,同时在客户端显示 LoadingPanelClientTemplate的内容,调用返回后,将等待页面替换为返回的页面内容。
2、服务端将触发事件callback:
CallBack1_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e)
{
//我们的代码;
//1、通常是分析参数作相应的逻辑处理
//2、将要显示给用户的信息通过写入e.output中
}
过程并不复杂,理解起来有点难度。当你真正理解之后,你回发现很实用。