`

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

阅读更多

“无刷新页面”,只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说法是:在页面上用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 2.0入门经典:C#编程篇.pdf

    10. **Ajax 支持**:ASP.NET 2.0通过UpdatePanel和ScriptManager等组件引入了部分页面刷新(Partial Page Rendering),提升了用户体验。 总之,《ASP.NET 2.0入门经典:C#编程篇》这本书应该会详细讲解以上这些...

    ASP.net 2.0网络编程从入门到精通-修订.rar

    - ASP.NET 2.0引入了Atlas(后来发展为Microsoft AJAX Library),支持部分页面更新,提高用户体验。 10. **Web服务与WCF** - ASP.NET 2.0支持创建和消费Web服务,通过SOAP协议进行通信。 - Windows ...

    ASP.NET 2.0程序设计案例教程(课件)

    ASP.NET 2.0引入了许多新特性,如母版页(Master Pages)和站点导航(Site Navigation),使得网页布局和多页面应用的管理更加方便。 2. **控件和事件模型**:在ASP.NET 2.0中,服务器控件提供了一种直观的方式来创建...

    Programming Microsoft ASP.NET 2.0 Applications - Advanced Topics

    ASP.NET 2.0在1.0的基础上进行了许多改进,包括更高效的页面生命周期管理、内置的状态管理机制和更强大的控件库。 2. **控件与数据绑定**:书中会详细介绍ASP.NET 2.0的各种服务器控件,如GridView、DetailsView、...

    天轰穿ASP.NET2.0视频教程代码(共两部份)

    此"天轰穿ASP.NET2.0视频教程"针对初学者和进阶开发者,通过详细的教学指导,帮助用户掌握ASP.NET 2.0的核心概念和技术。 1. **ASP.NET 2.0架构** ASP.NET 2.0基于.NET Framework 2.0,引入了统一的页面生命周期...

    asp.net 2.0动态网站开发教程

    在ASP.NET 2.0中,有一系列预定义的服务器控件,如Label、TextBox、Button、GridView等,这些控件可以直接在页面上拖放并进行配置,极大地简化了网页设计。此外,控件间的事件处理模型也得到了强化,使得代码编写...

    ASP.NET 2.0高级编程(特别版)》[英文CHM电子书+源代码].

    在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...

    ASP.NET 2.0入门经典(第4版)

    《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建...5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web Developer Express(VWD)太平洋下载中心为您提供"ASP.NET 2.0 入门经典(第4版)"官方下载。

    Wrox Asp.Net 2.0 Instant Results(asp.net2.0经典案例教程)

    《Wrox Asp.Net 2.0 Instant Results》是一本针对ASP.NET 2.0技术的经典案例教程,旨在帮助读者快速掌握并应用ASP.NET 2.0开发动态网站的技能。这本书由经验丰富的IT专家撰写,以实践为导向,通过丰富的实例来解释和...

    Asp.net 2.0高级编程(pdf)

    8 1.3.2新的编译系统 12 1.3.3页面框架的新增内容 13 1.3.4访问数据的新对象 15 1.3.5新的服务器控件 15 1.4建立ASP.NET2.0页面的新IDE 16 1.5小结 17 第2章VisualStudio2005 19 2.1启动...

    ASP.NET2.0实用教程(C#版)书中例子.rar

    这个“ASP.NET2.0实用教程(C#版)书中例子”PPT很可能会涵盖以上这些主题,并通过实例演示如何在实践中应用这些技术。PPT中的例子可能包括创建简单的Web表单、使用控件进行数据绑定、实现用户身份验证以及利用AJAX...

    ASP.NET2.0 经典案例教程

     本书通过深入剖析12个使用ASP.NET 2.0开发的项目,全面阐述了ASP.NET 2.0应用程序的架构及ASP.NET 2.0新增的控件和功能。通过探索这些项目的设计和代码,读者可快速掌握使用ASP.NET 2.0开发应用程序的技巧,从空白...

    ASP.NET2.0+sql server 网络应用开发详解

    在ASP.NET 2.0版本中,引入了许多新特性,如改进的页面生命周期管理、母版页(Master Pages)用于统一网站布局、自定义控件增强用户体验、配置管理工具简化部署过程、以及ASP.NET AJAX框架实现页面无刷新交互等。...

    ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 源代码

    这部分内容不需要读者有任何的客户端开发知识,只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,...

    ASP.NET 2.0 入门经典(第4版).rar

    《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释...5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web Developer Express(VWD)

    ASP.NET 2.0入门经典(第4版)源码

    8. **AJAX支持**:虽然ASP.NET 2.0本身不包含Ajax框架,但可以通过UpdatePanel和ScriptManager等控件实现部分页面更新,提升Web应用的响应速度和用户体验。 9. **Web服务(Web Services)**:ASP.NET 2.0支持创建和...

    ASP.NET 2.0网络编程自学手册

    此外,ASP.NET 2.0还引入了AJAX支持,使得无需刷新整个页面就能更新部分内容,提高了用户体验。这部分内容会涵盖UpdatePanel、Timer控件以及脚本服务(ScriptManager)的使用。 在状态管理和数据访问方面,本书将...

    ASP.NET 2.0网络开发技术 ASP.NET 2.0类,对象和命名空间

    ASP.NET 2.0 是微软推出的用于构建动态网站和Web应用程序的框架,它基于.NET Framework,支持面向对象的编程模型。在ASP.NET 2.0中,开发者可以通过使用类、对象和命名空间来构建复杂的Web应用程序。 面向对象编程...

    精通ASP.NET2.0+SQL Server 2005项目开发 源码.rar

    《精通ASP.NET 2.0 + SQL Server 2005项目开发》是一部深度解析Web应用程序构建的教程,尤其关注ASP.NET 2.0框架与SQL Server 2005数据库系统的结合应用。该资源包含9个精心设计的案例,旨在帮助开发者逐步提升在...

Global site tag (gtag.js) - Google Analytics