it167.com  设为主页
 收藏本站
 
  资讯:业界动态 | 软件动态 | 人物专栏 | 安全资讯 | 网络生活 | 电子商务 | 小游戏 | 视频 | 美女图片 | 音乐
  网络编程 | 网站运营 | 网页制作 | 图形图象 | 操作系统 | 媒体动画 | 软件教学 | 网络应用 | 邮件系统 | 网络安全 | 认证考试
asp | .net | php | jsp | Sql | java | Dreamweaver | FrontPages | Javascript | css | Coreldraw | photoshop | Flash | Coreldraw
当前位置: > 主页>网络编程>Asp.net>Asp.Net实例教程>ASP.NET 2.0无刷新页面新境界
最新新闻

·机会与整合 边缘化互联
·TOM-Skype新增三大本地
·雅虎抢闸邮箱竞赛 网易
·新浪抢攻北京奥运
·洞悉网络口碑的掘金机会
·拆解网络病毒黑金交易
·木马下载器近期出现新变
·《互联网周刊》第17期文
·Web2.0是否催生自吹自擂
·三张宝宝裸照招来MSN封
热门新闻
·在ASP.NET中跨页面实现
·一个功能齐全的DataGrid
·ASP.NET 程序中常用的三
·GridView无代码分页排序
·GridView和下拉菜单Drop
·GridView 72般绝技1
·GridView和CheckBox结合
·鼠标移到GridView某一行
·鼠标移到GridView某一行
·GridView实现删除时弹出
推荐新闻
 
 

ASP.NET 2.0无刷新页面新境界 

作者:   来源:   点击:   日期:2007-11-28

“无刷新页面”,只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说法是:在页面上用JavaScript调用服务器端的一个方法,然后处理返回的数据。实现它最标准的方法当然是XMLHTTP。但是,程序员都是懒惰的家伙,每个人都希望能有更方便的方法,或者,更佳的包装。比如,Lostinet的Rane就是对XMLHTTP的一个很好的包装。
  
    终于,在ASP.net 2.0里面,我们可以轻松的来做到这点了。服务器端任何实现了System.Web.UI.ICallbackEventHandler接口的控件,都可以通过RaiseCallbackEvent()方法来处理从页面上的JS脚本传递过来的请求和数据,处理后,再将结果传回给页面。这项能力的底层仍然是XMLHTTP。
  
    下面是一个简单的演示:
  
    在页面上,我们放上两个文本框和一个按钮:
  
   <INPUT id="txtMessage">
   <INPUT onclick="callToServer();" type="button" value="Call to Server">
  
     Result : <INPUT id="txtResult" >
  
    当点击按钮的时候,将调用JS脚本方法callToServer(),JS脚本如下:
  
   function callToServer()
   {
   var param = document.getElementById("txtUsername").value;
   var context = "";
   <% = ClientScript %>
   }
  
   function handleResultFromServer(result, context)
   {
   document.getElementById("txtResult").value = result;
   }
  
    handleResultFromServer()方法则负责将从服务器传回的数据写到txtResult这个文本框里面。
  
    再看看服务器端的代码:
  
   public partial class Default_aspx : System.Web.UI.ICallbackEventHandler
   {
   private String ClientScript
   {
   get
   {
   return this.GetCallbackEventReference(this, "param", "handleResultFromServer", "context");
   }
   }
  
   public string RaiseCallbackEvent(string eventArgument)
   {
   return "客户端在[" + DateTime.Now.ToString() + "]传送来 [" + eventArgument + "].";
   }
   }
  
    我们让页面直接实现ICallbackEventHandler接口,然后接口定义的RaiseCallbackEvent()方法中将服务器的时间和传来的数据一起返回回去。
  
    ClientScript属性的作用是,它调用了页面的GetCallbackEventReference()方法,获得了让客户端有能力调用服务器端方法的JS脚本,并输出到页面的callToServer()方法中,这样,点击页面按钮时,就开始执行页面上包含了调用服务器方法的的callToServer()方法。
  
    注意GetCallbackEventReference()方法的参数,在参数中,我们定义了客户端的哪个变量包含了要传递给服务器,服务器方法执行后,调用客户端的哪个方法等信息。GetCallbackEventReference()的详细参看请看这里。

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·在ASP.NET中跨页面实现多选 ·一个功能齐全的DataGrid分页例子
·ASP.NET 程序中常用的三十三种代码(1) ·GridView无代码分页排序:
·GridView和下拉菜单DropDownList结合: ·GridView 72般绝技1

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:it167  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。