“无刷新页面”,只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说法是:在页面上用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()的详细参看请看这里。
分享到:
相关推荐
10. **Ajax 支持**:ASP.NET 2.0通过UpdatePanel和ScriptManager等组件引入了部分页面刷新(Partial Page Rendering),提升了用户体验。 总之,《ASP.NET 2.0入门经典:C#编程篇》这本书应该会详细讲解以上这些...
- ASP.NET 2.0引入了Atlas(后来发展为Microsoft AJAX Library),支持部分页面更新,提高用户体验。 10. **Web服务与WCF** - ASP.NET 2.0支持创建和消费Web服务,通过SOAP协议进行通信。 - Windows ...
ASP.NET 2.0引入了许多新特性,如母版页(Master Pages)和站点导航(Site Navigation),使得网页布局和多页面应用的管理更加方便。 2. **控件和事件模型**:在ASP.NET 2.0中,服务器控件提供了一种直观的方式来创建...
ASP.NET 2.0在1.0的基础上进行了许多改进,包括更高效的页面生命周期管理、内置的状态管理机制和更强大的控件库。 2. **控件与数据绑定**:书中会详细介绍ASP.NET 2.0的各种服务器控件,如GridView、DetailsView、...
此"天轰穿ASP.NET2.0视频教程"针对初学者和进阶开发者,通过详细的教学指导,帮助用户掌握ASP.NET 2.0的核心概念和技术。 1. **ASP.NET 2.0架构** ASP.NET 2.0基于.NET Framework 2.0,引入了统一的页面生命周期...
在ASP.NET 2.0中,有一系列预定义的服务器控件,如Label、TextBox、Button、GridView等,这些控件可以直接在页面上拖放并进行配置,极大地简化了网页设计。此外,控件间的事件处理模型也得到了强化,使得代码编写...
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
《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.NET 2.0技术的经典案例教程,旨在帮助读者快速掌握并应用ASP.NET 2.0开发动态网站的技能。这本书由经验丰富的IT专家撰写,以实践为导向,通过丰富的实例来解释和...
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#版)书中例子”PPT很可能会涵盖以上这些主题,并通过实例演示如何在实践中应用这些技术。PPT中的例子可能包括创建简单的Web表单、使用控件进行数据绑定、实现用户身份验证以及利用AJAX...
本书通过深入剖析12个使用ASP.NET 2.0开发的项目,全面阐述了ASP.NET 2.0应用程序的架构及ASP.NET 2.0新增的控件和功能。通过探索这些项目的设计和代码,读者可快速掌握使用ASP.NET 2.0开发应用程序的技巧,从空白...
在ASP.NET 2.0版本中,引入了许多新特性,如改进的页面生命周期管理、母版页(Master Pages)用于统一网站布局、自定义控件增强用户体验、配置管理工具简化部署过程、以及ASP.NET AJAX框架实现页面无刷新交互等。...
这部分内容不需要读者有任何的客户端开发知识,只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,...
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释...5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web Developer Express(VWD)
8. **AJAX支持**:虽然ASP.NET 2.0本身不包含Ajax框架,但可以通过UpdatePanel和ScriptManager等控件实现部分页面更新,提升Web应用的响应速度和用户体验。 9. **Web服务(Web Services)**:ASP.NET 2.0支持创建和...
此外,ASP.NET 2.0还引入了AJAX支持,使得无需刷新整个页面就能更新部分内容,提高了用户体验。这部分内容会涵盖UpdatePanel、Timer控件以及脚本服务(ScriptManager)的使用。 在状态管理和数据访问方面,本书将...
ASP.NET 2.0 是微软推出的用于构建动态网站和Web应用程序的框架,它基于.NET Framework,支持面向对象的编程模型。在ASP.NET 2.0中,开发者可以通过使用类、对象和命名空间来构建复杂的Web应用程序。 面向对象编程...
《精通ASP.NET 2.0 + SQL Server 2005项目开发》是一部深度解析Web应用程序构建的教程,尤其关注ASP.NET 2.0框架与SQL Server 2005数据库系统的结合应用。该资源包含9个精心设计的案例,旨在帮助开发者逐步提升在...