新手开发asp.net 现在遇到一个怪问题。和Ajax有关的。请高人指点……    1,将页面分成了四部分。上 中 下,中间又分为 左和右。
                 我在左侧做了导航!使用的是treeview
                 根据用户的权限 隐藏某些节点。
                 我在网页头部(也就是 上 )加了一个label,用户显示服务器时间。用的是Ajax,每隔一秒自动刷性。    2  , 普通用户登录时,用removeat 方法隐藏 指定节点。但是时间却没有显示了。(label的text属性初始为“无法获取间”,  在timer tick中定义为label.text=System.DateTime.Now.ToString("G");)
   管理员登录,没有使用remove 方法 ,时间就正常显示    3,我知道这个可能和ajax的触发器有关但是不知道应该如何避免干扰。以及为什么会引起这个问题。

解决方案 »

  1.   

    JS也很简单
    onload="showtime()" 
    function showtime()
    {
    var now = new Date();
    var h = now.getHours();
    var m = now.getMinutes();
    var s = now.getSeconds();
    var m2="";
    var s2="";
    if(m<10)m2="0"+m;
    else m2=m;
    if(s<10)s2="0"+s;
    else s2=s;
    var txt = h+":"+m2+":"+s2;
    var p = document.getElementById("txt_time");
    p.value="现在时刻:"+txt;
    setTimeout("showtime()",1000);
    }
      

  2.   

    其实可以不用ajax每秒向服务器获取时间的,这样对服务器的开销很大,
    blog记录了得到服务器时间的clock的解决方案。
    你可以去看下,注意看第三的一个方案,这是其中最好的。
      

  3.   

    补充一点,我里面用了jquery的类库,主要是用了里面的“$”这个方法获取页面的element,直接copy代码之后你要引用jquery的js类库才能运行,不然就要改代码。