查资料说的是, 非UI线程无法更改 控件的值,需使用UI线程或委托 ,尝试过之后还是失败,求大虾源码
System.Threading.Thread thread;
    static string strGuDingOld = "A", strGuDingNew = "A";      // 
    void Write()  //strGuDingOld = strGuDingNew   则执行永久执行这个函数
    {
        do
        {
            Random rand = new Random();
            txtBox1.Text = rand.Next(0, 1000).ToString();   //此处明明已经赋值 ,页面上却不改变,            
System.Threading.Thread.CurrentThread.Join(3000);//阻止3s         } while (strGuDingOld == strGuDingNew);
    }
    protected void Button1_Click(object sender, EventArgs e)   //建立线程  执行Write 函数
    { 
         
        thread = new System.Threading.Thread(new System.Threading.ThreadStart(Write));
        thread.Name = "线程";
        thread.Start();
    }    protected void Button2_Click(object sender, EventArgs e)  //改变 strGuDingNew 的值 
    {
        strGuDingNew = "B";
    }

解决方案 »

  1.   

    前后台交互方式,webform跟winform不一样,另外你这代码也没看到你用委托啊
      

  2.   

    前台页面……忘了你这个是asp.net的了,你线程运行了,这个页面早返回了,哪去找,居然不会报错?
    你想服务器生成的数据在浏览器页面上更新,需要通过ajax这样的技术,而不是仅仅在后台操作,后台生成的页面返回浏览器的时候是一次生成的,完了跟前台就没关系了。
      

  3.   

    额,webfrom???信都已经发出去了,你才想起来我还少写一句话??覆水难收,已经出去了就别想做啥了除非你相信所谓的“长连接”真的能用在项目里