因为我做数据绑定用的不是控件。。而是在后台生成TAB前台代码  然后传到前台  在前台画出表格和数据因为这样我可以非常灵活的控制我的数据表格但我现在有个郁闷就是在数据量大的时候按钮点击了  后 没反应 因为是在读取数据我就想在这个 读取数据的时间里 加一个 请稍候的图片 提示 数据正在加载加载完了  提示信息就消失了只是一个提示信息 不用 百分之几的进度条哪个大大能给我一个 完整的 实例 我好研究下

解决方案 »

  1.   

    用ASP写的你看么?客户端脚本function $(i) {
        return document.getElementById(i);
    }
    var Bind = function(object, fun) {
        return function() {
            return fun.apply(object, arguments);
        }
    }function CreateXmlHttp() {
        this.XMLHTTP = window.attachEvent ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
        this.Method = "POST";
        this.URL = "/common/guestbookentity.asp";
        this.Content = null;
        this.Headers = {};
        this.OnPostBack = function() {  };
        this.Send = function() {
            if (this.XMLHTTP == null) {
                alert("浏览器不支持动态创建异步请求对像");
                return;
            };
             this.XMLHTTP.onreadystatechange = function(o) { return function() { if (o.OnPostBack) o.OnPostBack.apply(o.XMLHTTP, [o]); }; } (this);
            this.XMLHTTP.open(this.Method, this.URL, true);
            if (this.Headers) {
                for (var property in this.Headers) {
                    this.XMLHTTP.setRequestHeader(property, this.Headers[property]);
                }
            }
            this.XMLHTTP.send(this.Content);
        };
    }; var curPage = 1; //当前页
        function Post(i) {
            ShowWorking(true);
            $('tbbbcontent').innerHTML = "";
            var t = new CreateXmlHttp();
            t.URL = "/common/newsentity.asp";
            t.OnPostBack = OnSendBack;
            t.Content = "act=webshow&pageno="+i;
            curPage = i;
            t.Headers = { "CONTENT-TYPE": "application/x-www-form-urlencoded", "Content-Length": t.Content.length };
            t.Send();
        }    function OnSendBack(obj) {
               if (this.readyState == 4) {
                var s = this.responseText;
                var re;
                re = /<[s]cript.*?<[/]script>/ig;
                var sct = new String(s.match(re));
                sct = sct.replace(/[<][s]cript>/ig,"");
                sct = sct.replace(/<[/]script[>]/ig,"");
                eval(sct);
                BuildPager(CalledObject);
                window.setTimeout(
                    function(){ ShowWorking(false);  $('tbbbcontent').innerHTML = s ;},80
                )
            }
            else {
                
            }
        }
            
        function OnButtonHandler(o)
        {
            Post(o);//分页
        }
         
        function ShowWorking(bShow)
        {
            $('waiting').style.display = bShow ? "block":"none";
            $('pager').style.display = bShow ? "none":"block";
            $('tbbbcontent').style.dislplay = bShow ? "none":"block";
        }
        
        function BuildPager(CalledObejct) {
        
        if(typeof(CalledObejct.pageno) == "undefined" )
        {
            CalledObejct.pageno =1;
        }
        
        var string ="";
        var s = CalledObejct.recordscount / CalledObejct.pagesize + 1 ;
        for(var i = 1 ;i < s ; i ++ )
        {
            if(i ==CalledObejct.pageno )    
            {
                string += "<b>"+i+"</b>  ";
                continue;
            }
            string  += "<a href=\"#\" onclick=\"OnButtonHandler("+i+")\">"+i+"</a>";
            string  += "  ";
        }
        
        if(CalledObejct.recordscount == 0) string = "";
        var divShow =  document.getElementById("pager");
        divShow.innerHTML = string;
    }
    客户端HTML
     <div id="waiting" style="text-align: center; display: none;">
                                                                        <span>正在准备数据,请稍候。</span><br />
                                                                        <img src="/images/200803131036364888.gif" />
                                                                    </div>
                                                                    <div id="tbbbcontent">
                                                                    </div>
                                                                    <div id="pager" style="text-align: center; display: block;">服务器端脚本if (Request.Form("act") == "webshow") {
        
        var t = new JCnews();
         //
         if (Request.Form("pageno").Count > 0) {
             t.pageno = Request.Form("pageno");
         }
         t.ExtraCondition = " and IsPublish= true";
            var items = t.doQuery();
      
        
         var tableHTML = "";
         if (t.recordscount <= 0) {
             tableHTML = "請稍候,更多最新資訊正在爲你准備當中";
         }       else {
         
            tableHTML = '  <div align="left"><ul>  ';                               
                      for (var i = 0; i < items.length; i++) {
                      
                        tableHTML += '<li> <a href="news_view.asp?i='+items[i].ID+'" title="'+items[i].Title
                               +'">'+items[i].Title+' ('+items[i].AddTime+')</a> </li>';
                                     
                        }
             tableHTML += "</ul></div>";
         }
         tableHTML += "<script>var CalledObject = new Object();CalledObject.recordscount =" + t.recordscount + ";CalledObject.keyWord='" + t.keyWord + "';CalledObject.pagesize =" + t.pagesize + ";CalledObject.pageno=" + t.pageno + "</script>";
         Response.Write(tableHTML);
         Response.End();

        
         
         
    }
      

  2.   

    给个思路吧,用微软的客户端得ASP.NET AJAX 来做,点击了按钮,有一个显示数据的div,此时div.innerHTML="请稍后,正在读取数据...",然后等返回了table就让div.innerHTML=table.就可以了啊
      

  3.   

    http://www.cnblogs.com/tianxiao/articles/1217292.html参考这个,效果不错