注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> 网页设计 >> Javascript >> 网页设计正文

不用组件实现Ajax效果

文章来源:蓝色理想 99love 作者:佚名 更新时间:2008-1-27 19:48:24 【 】 【加入收藏

现在.NET的Ajax组件确实不少了,微软的ajax extensions用起来很方便,一个UpdatePanel就可以搞定一切。不过,可能有些朋友更愿意自己来写。那么在.NET里,你是否知道ICallbackEventHandler呢?

大家应该都知道ASP.NET页面调用时的几种方式:Postback/Cross-page posting/Server transfer/Callback,如果你还不太了解,你可以看看MSDN:How to: Determine How ASP.NET Web Pages Were Invoked

现在要说的,就是Callback这种调用方式。
简单的说,使用Callback可以得到你平常看到那么Ajax效果,即不刷新整个页面,只更新其中一个部分。

使用Callback,只需要做以下4步:

1、在你的页面中继承System.Web.UI.ICallbackEventHandler接口

如果你没有使用code-behind,那你也可以在aspx页面顶部加入下面的代码:

2、在前台写一段自定义的javascript,更新页面

这一段javascript用来更新页面的某个局部,就像你平常操作的一样,写些document.getElementById("xxx").innerHTML="working on your request...."。

你可能有些迷糊,就得到了吗?连个什么XMLHttpRequest都没有哩……

3、在Page_Load中再注册一段javascript

上面的GetCallbackEventReference是用来得到客户端函数的引用,发起一个callback到服务器端的,你不必知道详细内容。

你只需要了解:

  • 第一个参数填this,用来handle客户端的callback的,它必须继承ICallbackEventHandler接口并提供RaiseCallbackEvent方法,我们已经在继承了这个接口,上面第一点中的代码也有RaiseCallbackEvent方法,只是还没有具体写内容呢。
  • 第二个参数就是那个 从客户端传到服务器端的参数。如果你想要注册的检查用户是否可用,那么这里的值就是用户输的那个值。
  • 第三个参数是前台的javascript函数名,在第二步中我们写的名字是:GetFlag。当数据好了,这个javascript函数就会用到。
  • 第四个参数一般用不上。

返回值:一个函数的名字,是客户端调用的函数名。这个函数会调用到服务器端了。

4、调用你的函数。

上面一定是 onclick="callServer()"吗?呵呵,这要看你了,你在Page.ClientScript.RegisterClientScriptBlock注册的什么javascript函数名字,就是什么名字了。(在第3步的第二行code中)

已经完了。如果你还是一头雾水,没关系,下面看一个实例

p>

我们写一个检测用户是否已经注册的小程序,这在每个用户注册页面上都可以用到。

前台Default.aspx:

上面有一个<input type="button" value="check it!" onclick="callServer()" />,这是我说的第5步的内容,这个函数名字callServer应该和Lage_Load中注册的相对应的。

后台Default.aspx.cs:

运行截图:

源码下载

希望这篇文章能在某些时候对您有所帮助。

  • 上一篇网页设计:

  • 下一篇网页设计:
  • 最 新 热 门
     Fireworks教程:绘制小老鼠图案邮票
     Javascript教程:实用的JS函数库
     JS和CSS实现的气泡窗口
     不用组件实现Ajax效果
     网页设计经验和技巧总结
     网页制作应注意的几个事项
     DL.DT.DD的布局简单例子
     Flash贪吃蛇游戏AS代码翻译
     Flash中如何调用exe可执行文件?
     将swf文件转成可自动播放的exe文件
    最 新 推 荐
     Javascript教程:实用的JS函数库
     JS和CSS实现的气泡窗口
     不用组件实现Ajax效果
     JavaScript入门学习书籍的阶段选择
     基于javascript的拼音字典及应用举例
     JS分层的概念与本地存贮
     Javascript实现打印网页中定义的部分内容
     Javascript代码轻松隐藏网页源文件
     实现在AJAX下的前进、后退功能
     Javascript代码在网页中简单应用的几个示例
    相 关 文 章

    Flash组件实现多首mp3连放
    Flash DateChooser 组件传值给Html来制作时…
    Flash CS3 组件开发教程
    小技巧:为Alert组件加上响应功能
    flash组件开发要点
    TextInput、RadioButton、CheckBox、Combob…
    解决flvplayback组件不支持中文路径的办法
    asfunction+media实现的mp3连放播放器+wind…
    Flash MX 2004 Media组件实现多首mp3连放
    组件+PHP+MYSQL的新闻发布系统

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用