先简单说明下,我要做的这个网站要开发用户综合社区,我们老板要的,象QQ那样的在线状态,并且即时接收消息,根据在线时长计算积分等等。我跟他说了这是网站,是Web应用程序,跟QQ那Windows应用程序不太一样,还要考虑性能。他不听,说他不懂技术,只要按他的要求做就行了。囧RZ。
我用的vs2005+ajax 1.0。现在遇到了几个问题:
一、我把登录状态放在母板页的updatepanel里,trigger设置为一个timer,Tick Interval是10秒。第一次页面载入的时候正常,10秒后刷新后页面的标题头就变为Untitled Page了。我在子页面是写了《title》..《title》的(这里发帖需要,尖括号都写成《》),后来在母板页里也加上,但没用,甚至在《%@ Page Title=“”%》写也不行,不知道怎么解决。
.net 2.0在母板页的《head》里加入内容控件套子页面会认不出来,虽然不影响使用,但总会有莫名其妙的问题。
二、Session的问题。现在打开两个页面A、B,在A页面登录以后,10秒钟后B页面局部刷新也会出现登录信息,这没问题。但退出的时候就有问题了。在A页面退出登录,B页面会一直显示登录状态,局部刷新多少次也不会显示登出。session为空时无响应。
我看网上的有人说用Ajax.dll,想问下在微软的ajax 1.0有没有办法

解决方案 »

  1.   

    怎么让它响应Session为Null的情况啊?
    很快地沉了。。前辈们快来帮下忙啊
      

  2.   

    做这个最好不要用updatepanel(因为它还是整页刷新,只不过剔除了没有必要更新的东西),用客户端最好....通过调用webservice来实现....  [WebMethod(EnableSession = true)]这样的设置可以利用session.....对session的判断放在webservice里去..........
      

  3.   

    <head id="Head1" runat="server">
      <script type="text/javascript" language="javascript">
        function refresh_data()
        {               
            //这里写一句调用WebServices的方法
             .......        
            //定时更新
            window.setTimeout(refresh_data, 1000);  //1000毫秒
        }
       </script>
    </head>
    <body>
      你的html设计  
      <script type="text/javascript" language="javascript">
        refresh_data();      
       </script>
    </body> 
      

  4.   

    前台用setInterval去定时刷新 调用 Ajax的方法, Ajax去服务器端取数据。服务器端判断Session。并返回结果。就这样了
      

  5.   

    感谢感谢楼上几位。
    现在习惯用ajax 1.0了,像验证码,输入格式验证,自动完成等等,很久没有手写ajax了,囧。
    那如果这样的话,我显示返回的一些数据,比如用户的在线积分,用户的未读消息数量等,都要用客户端html控件了?
    有没有用微软ajax extensions 1.0的解决方案呢?
      

  6.   

    其实是有其它方面的考虑,主要是在子页面会用到母板页里的控件,只有服务器端控件才可以在c#代码里FindControl("...")