http://bbs.csdn.net/topics/390645545
http://bbs.csdn.net/topics/390645663
http://bbs.csdn.net/topics/390645605这三个帖子都没有找到答案 这是第四个了 大侠 不管你用什么方法 只要实现功能就行了 要BS的代码

解决方案 »

  1.   

    B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。你还是首先了解下B/S的情况吧
      

  2.   

    为什么不用ajax定时去轮询呢?
      

  3.   

    不会用ajax轮询 兄弟帮我写一个呗
      

  4.   

    那按你的意思是这东西用BS无法实现?不会吧??这是老大交给我的任务 还说这两天就要的
    我因为这些年都是做CS BS基本也是做ERP什么的 像AJAX轮询什么的很生疏 所以老大给任务的时候我还特意问了用BS还是CS 结果老大要BS的 好蛋疼啊 CS半个小时就可以了 偏要我用BS 我该怎么办 小弟还在试用期啊 苦逼
      

  5.   

    setTimeout( "ajax请求" ,  1000 );ajax请求:$.ajax.....
      

  6.   

    前台如下   <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <script src="jquery-1.8.3.min.js" type="text/ecmascript"></script>
        <title></title>
        <script type="text/javascript">
    window.setInterval(getAjaxData, 5000);
    function getAjaxData(){
    $.ajax({
    type: "GET",
    async: false,
        //url: "WebForm2.aspx?abc="+Math.random(),
    //dataType: "html",
    url: "WebForm1.aspx/SetLabel",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) {     
        //返回的数据用data.d获取内容      
        alert(data.d);     
    },     
    error: function(err) {     
        alert(err);     
    }   
    //success:function(html){      
    // $("#ajaxData").html(html);

    //}
    });
    }
        </script>
    </head><body>
        <form id="form1" runat="server">
        <div id="ajaxData"></div><asp:GridView runat="server" ID="GridView1"></asp:GridView>
        </form>
    </body>
    </html>
    后台
            static DataTable dt = new DataTable();
            protected void Page_Load(object sender, EventArgs e)
            {
                dt.Columns.Add("yvalue", typeof(string));
                dt.Rows.Add();
                dt.Rows[dt.Rows.Count - 1][0] = "开始";
                GridView1.DataSource = dt;
                GridView1.DataBind();
                Thread t = new Thread(new ThreadStart(rand));
                t.Start();        }
            private string SetLabel()
            {
                GridView1.DataSource = dt;
                GridView1.DataBind();
                return "cs";
            }
            void rand()
            {
                for (int i = 0; i < 100;i++ )
                {
                    dt.Rows.Add();
                    dt.Rows[dt.Rows.Count - 1][0] = i.ToString()+"开始";
                    Thread.Sleep(5000);
                }
            }
        }
    }我这个是模拟的SOCKET接收 SOCKET接收也是不断的更新datatable 我这个也是  然后前台AJAX调用绑定函数 结果只弹窗 没刷新AJAX
      

  7.   

    那按你的意思是这东西用BS无法实现?不会吧??这是老大交给我的任务 还说这两天就要的
    我因为这些年都是做CS BS基本也是做ERP什么的 像AJAX轮询什么的很生疏 所以老大给任务的时候我还特意问了用BS还是CS 结果老大要BS的 好蛋疼啊 CS半个小时就可以了 偏要我用BS 我该怎么办 小弟还在试用期啊 苦逼
    也就是上面几楼说的,使用ajax定时刷新,不断请求,以模拟服务器的推送功能。我以前做BS是,经常使用AjaxPro来出来Ajax的,其他的都是js的写法,只要简单了解下AjaxPro的用法,就OK了
    http://www.cnblogs.com/lexus/archive/2007/11/29/977281.html
    这个AjaxPro的教程,是比较简单的,很容易的,你操作下,或者直接在项目中使用也可以,JS方面就看你的基础了,不行在了解学习下js。
    还是那句话,改变思想,你做的是B/S,而不是C/S
      

  8.   

    ajax局部刷新技术可以解决你的问题
      

  9.   

     return "cs";
    改为
    return "{result:\"cs\"}"
      

  10.   

    用AJAX获取后台JSON数据 然后通过ext倒是可以实现 就是现在有一个问题 datatable转换为JSON的时候 可能是因为多线程处理的datatable 导致转换不完全 只能得到第一个列的值 后面的得不到 
      

  11.   

    各位问题已经解决了 bs里面也有特timer控件刷新 我以为BS没有 呵呵 
    虽然不能实现一来数据就绑定 但也勉勉强强把