无刷新是web2.0新特性,除了利用微软公司推出的.net3.0可以实现,其时在.net2.0已经存在这样的接口了,那就是ICallBaclEventHandle具体怎样利用者个接口来实现无刷新已服务器交互,以下是我在网上学习到的一个例子,希望可以给大家带来帮助,同时也恳请大家指出错误在那里。
这是在前台通过回调技术获取服务器事件的例子。
后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page,ICallbackEventHandler
{
string strs;
protected void Page_Load(object sender, EventArgs e)
{
strs = Page.ClientScript.GetCallbackEventReference(this, null, "showtime", null);
Response.Write(strs);
}
#region ICallbackEventHandler 成员
//返回前台javascript处理的结果
public string GetCallbackResult()
{
return DateTime.Now.ToString();
}
//前台要触发的事件处理,在这里不需要做处理
public void RaiseCallbackEvent(string eventArgument)
{
}
#endregion
}
前台页面:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>VIP设计</title>
<script language="javascript" type="text/javascript">
var times
function callback()
{
<%=strs%>
}
function showtime(tims)
{
alert(tims);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="ok" onclick="callback()" />
</div>
</form>
</body>
</html>
//真对以上的例子解析:
Page.ClientScript.GetCallbackEventReference(this, null, "showtime", null);
的参数
第一个:把回调触发事件注册到那个对象
第二个:在客户端回调的时候要传回来的参数
第三个:是把处理的结果返回给客户端的那个方法(主要是javascript脚本)
第四个:是前台跟后台关联的上下文,这里可以null,其实这个我也不是很理解是什么,这是我自己的感觉去理解
ok
写完。。。。。。