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

来源:互联网 发布:js字符串转html标签 编辑:程序博客网 时间:2024/05/03 17:58

 在ASP.NET 2.0里面,我们可以轻松的来做到这点了。服务器端任何实现了System.Web.UI.ICallbackEventHandler接口的控件,都可以通过RaiseCallbackEvent()方法来处理从页面上的JS脚本传递过来的请求和数据,处理后,再将结果传回给页面。这项能力的底层仍然是XMLHTTP。

例JS脚本如下:

        window.onload = function () {
            CallBackonload();
        }

       function CallBackonload()
        {
            var arg = $("prjtype").value + "/xFDonload";
            <%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerDataonload", null)%>;
        }

C#代码如下:

public partial class L_Audit_desk_Default : System.Web.UI.Page, ICallbackEventHandler

{

    /// <summary>
    /// str:传递来的参数进行分解后的结果
    /// restr:要返回给页面的字符串
    /// </summary>
    private string[] str;
    private string restr = "";

    /// <summary>
    /// 返回表现层方法
    /// </summary>
    /// <returns></returns>
    public string GetCallbackResult()
    {
        return restr;
    }

    /// <summary>
    /// 从表现层传来数据
    /// </summary>
    /// <param name="eventArgument"></param>
    public void RaiseCallbackEvent(string eventArgument)
    {
        //可以根据传递的参数不同,调用不同的处理逻辑
        str = eventArgument.Split('/xFD');
        if (str[str.Length - 1] == "onload")
        {
            getprocess_user(str[0]);
        }

    }

}