问在asp.net ajax中客户端调用服务器端方法出现的问题
我用的ajaxpro框架 
 客户端有一个调用服务器端的方法如下 
 //退出聊天室 
       function   logout() 
       { 
 //      alert( "aaaaaaa "); 
          ChatRoom.Logout(); 
       } 
 在body里写了onbeforeunload= "logout "调用logout方法,其中alert是为了测试是否调用写的 
 服务器端的ChatRoom.Logout()方法如下,调用存储过程 
 [AjaxPro.AjaxMethod] 
 public   void   Logout() 
 { 
       SqlConnection   conn   =   new   SqlConnection(ConfigurationSettings.AppSettings[ "ConnectionString "]);   
       SqlCommand   cmd   =   conn.CreateCommand(); 
       cmd.CommandType   =   CommandType.StoredProcedure; 
       cmd.CommandText   =    "UserLogout "; 
       cmd.Parameters.Add( "@username ",   UserName);conn.Open(); 
       cmd.ExecuteNonQuery(); 
       conn.Close(); 
 } 
 其中UserLogout为存储过程,作用当用户离开把用户标志从1设成0,表示不在线。发布离开公告,具体如下 
 --UserLogout将指定用户的isonline字段值设为0和发布用户离开聊天室的公告. 
 create   procedure   UserLogout 
 @username   varchar(50) 
 as    
 update   userinfo   set   isonline=0,lastchatinfo=(select   isnull(max(id),0)   from   chatinfo)   where   username=@username 
 --发布公告 
 insert   into   chatinfo   (user_from,user_to,content,expression,color,ispublic,sendtime)   values( ' ', ' ', '[聊天公告]:    '+@username+ '已经离开xxx ', ' ', 
  'ff0000 ',1,getdate())   
 现在问题是每次我关闭一个用户的窗口,另外一个用户的窗口不发布公告,用户列表也不更新,查了下数据库,关闭用户的状态也没有变为0,直接导致我用户列表不能改变,请教大家是怎么回事啊,测试了下关闭窗口前调用了alert,那应该调用logout()函数了,怎么会没有执行存储过程了? 
 谢谢帮帮我,我也就40分了,留20分下次用,csdn太狠了现在登陆不给分了 
------解决方案--------------------谢谢帮帮我,我也就40分了,留20分下次用,csdn太狠了现在登陆不给分了   
 等你拿出另外20分就有答案了...
------解决方案--------------------哈哈,以上是玩笑...
------解决方案--------------------你先检查一下你的存储过程是否调用过了,再确定是程序问题还是程序没有执行的问题;
------解决方案--------------------ajax的调试确实是一个问题,没什么好的办法;
------解决方案--------------------注意  'username ' 的值 
------解决方案--------------------楼主检查一下这语句是否调 用: 
 update userinfo set isonline=0,lastchatinfo=(select isnull(max(id),0) from chatinfo) where username=@username 
------解决方案--------------------先试下不要放在onbeforeunload里,在其他试试
------解决方案--------------------try  
 var o = ChatRoom.Logout();