不明白了,点击的时候没错,当定时器启动调用的时候  string ydcontent1 = Server.HtmlDecode(ydcontent.InnerText)  变量就为null了,但是字符串ydcontent.InnerText是有值的,很费解、、、、
server.htmldecode

解决方案 »

  1.   

    每一次循环 ydcontent.InnerText 都是有值的么?
    你先调试,抓出报这个错误的时候,ydcontent.InnerText的值是多少,再找问题
      

  2.   

     恩,每次都是有值的,他的报错提示是server 为null ,是不是还有其他方式啊,可能是因为这个是静态的原因,但又找不到其他的?
      

  3.   

    把你ydcontent.InnerText的值  贴一个 看看。
      

  4.   

    ,那个值应该没问题,问题就是这个server.htmldecode,有什么高见吗?
      

  5.   

    Server.htmlencode() 对字符串进行编码, Server.htmldecode  是反编码
    你这是要把ydcontent.InnerText解码?
      

  6.   

     这样的我这个ydcontent.InnerText的字符串读的是html 有时候有&nbsp,显示的时候就没有了,我还限制这个字符串的长度,所以我想不读取他,所以反编了下,没加定时器之前效果挺好,加上了就成这样了
      

  7.   

    其实是Server 为null 你在多线程里面使用吗?
      

  8.   

    &nbsp是空格,不应该是你没加定时器之前是好的,加了就变了,
    因为你遍历的时候ydcontent.InnerText都是有值的。你先试着写一段
    string ydcontent1 = Server.HtmlDecode("一二三四五六七");
    看是否报错。
    然后再写一段有 的,
    自己一个个测试是在什么情况的时候会报错,这样你就有思路去自己解决了。
      

  9.   

    你的定时器启动的时候,页面代码早已执行完了。定时器里的代码是在线程池中跑的,并不是像页面代码那样在管道中被HttpHandle处理。Page对象都不存在了,更何况Page.Server了
    直接用HttpUtility.HtmlDecode静态方法即可