“无刷新页面”,只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说法是:在页面上用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--> <% = 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各种编程技能的同时重点介绍了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版)"官方下载。
内容代码,使用VB.net和C# 两种解释 <br>第1章ASP.NET2.0概述 1 1.1简史 1 1.2ASP.NET2.0的目标 2 1.2.1开发人员的效率 3 1.2.2管理 5 1.2.3性能和可伸缩性 8 1.3ASP.NET2.0的其他新特性 8 ...
本书通过深入剖析12个使用ASP.NET 2.0开发的项目,全面阐述了ASP.NET 2.0应用程序的架构及ASP.NET 2.0新增的控件和功能。通过探索这些项目的设计和代码,读者可快速掌握使用ASP.NET 2.0开发应用程序的技巧,从空白...
ASP.NET 2.0动态网站开发基础教程(C#) 第01章 ASP.NET2.0基础 Framework Web Form(共32页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第02章 HTML和脚本语言 VBScript javaScript(共21页).ppt ASP.NET 2.0...
原装的英文版Asp.net2.0 入门经典C#篇.避免了翻译后的质量下降
这部分内容不需要读者有任何的客户端开发知识,只要在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)
asp.net 2.0 网站开发全程解析 第2版
ASP.NET 2.0网络开发技术 ASP.NET 2.0类,对象和命名空间,电子书
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
ASP.net 2.0网络编程从入门到精通-修订.rar
ASP.NET2.0 AJAX包括:ASP.NET 2.0 AJAX Extensions和ASP.NET Futures CTP.放心下载可用! 支持vs2005sp1!不要用vs2005的哟!否则web.config中会出现错误的!
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
接下来介绍了.NET中Web页面设计的基础知识和ASP.NET2.0服务器端控件的使用方法;作为ASP.NET数据库开发的准备内容,本书也介绍了些SQL语言的基础知识。此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件...
ASP.NET 2.0快速入门(3):ASP.NET 2.0的新控件
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
ASP.NET 2.0快速入门(5):ASP.NET 2.0 缓存技术