//我实现的功能是: 当服务器端标志位stopFlag=0时,客户端页面显示“正在导入,请稍侯!”
//当stopFlag=1时,客户端页面显示“完成”,我这样写功能没实现?但不知道错误在哪?请高手多指出错误!!
//虽代码多点,但逻辑很简单的。
//服务器端代码:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)                                    //回调处理都引发Page_Load事件
        {            Session["stopFlag"] = "0";                      //停止标志,1表示停止
        }
    }
    #region 客户端回调
    
    private string returnValue;                             //返回值变量,回调的结果信息将保存在该字符串中    //引发回调事件处理
    public void RaiseCallbackEvent(string arg)
    {
        //"arg"为从客户端的JavaScript传递过来的参数
        if (arg == "start")                       //开始处理
        {
            Session["stopFlag"] = "0";                      //停止标志置0,(1表示停止)
           
            return;
            
        }
        if (arg == "stop")                        //停止线程
        {
            Session["stopFlag"] = "1";                      //停止标志置1,(1表示停止)
          
            return;
        }
        returnValue = Session["stopFlag"].ToString();  //返回处理的值
    }    //回传回调结果
    public string GetCallbackResult()
    {
        return returnValue;
    }    #endregion//客户端代码:
    //显示进度值
    function showProgress(Session["stopFlag"])
    { 
        if(Session["stopFlag"]==0)
        {
           showState("正在导入设备,请稍侯!");
        } 
        else if (Session["stopFlag"]=="1")
        {
            showState("完成!");
            document.all.btnStart.disabled=false;
            return;
        }
               setTimeout("getProgress()",1000);   //每秒获取一次当前进度    }
        
    //显示状态
    function showState(result)
    {
        document.all.lblState.innerHTML=result;
    }</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="btnStart" type="button" value="开始" onclick="showProgress();"/>&nbsp 
        状态:[<asp:Label ID="lblState" runat="server" ForeColor="Red"></asp:Label>]
    </div>
    </form>
</body>
</html>