混小子工作室

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

      无刷新是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
写完。。。。。。

posted on 2007-06-20 14:10  混小子  阅读(186)  评论(0编辑  收藏  举报