Thread thread = new Thread(new ThreadStart(ThreadProc));
    private void ThreadProc()
    {
        string strScript = "<script>setPgb('pgbMain','{0}');</script>";
        for (int i = 0; i <= 100; i++)
        {
            System.Threading.Thread.Sleep(100);
            Response.Write(string.Format(strScript, i));
            Response.Flush();
        }
    }
ThreadProc()这个方法我想传个参数给他,但是new Thread是ThreadProc方法不能传参,怎么办呢?

解决方案 »

  1.   

    你把ThreadProc这个方法放到一个类里面做为这个类的一个成员,然后给类添加属性以使用属性来给这个类传递数据来给ThreadProc参数.
      

  2.   

    放到类里面后,可以通过调用类的实例的ThreadProc方法来运行这个线程,使用类的实例的属性来向线程里传递参数.
      

  3.   

    谢谢hbxtlhx,理解你的意思,高啊!
      

  4.   

    你说的这个类是这个样子吗?
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public class ThreadMain
    {
    public ThreadMain()
    {
    }    private int Count;    public void setCount(int count)
        {
            this.Count = count;
        }    public int getCount()
        {
            return Count;
        }    private void ThreadProc()
        {
            string strScript = "<script>setPgb('pgbMain','{0}');</script>";
            for (int i = 0; i <= this.getCount(); i++)
            {
                System.Threading.Thread.Sleep(100);
                Response.Write(string.Format(strScript, i));
                Response.Flush();
            }
        }
    }
    在线程初始化时要调用方法的之前先SET一下,对吗?
      

  5.   

    意思是这个意思了.Response在这里不能用啊。
    -------------------------
    你可以把你的Page传到这个类里啊.
      

  6.   

    http://www.cnblogs.com/jhtchina/archive/2006/03/20/353871.html
      

  7.   

    你可以把你的Page传到这个类里啊.
    page 是能传到这里,Response也不报错了,但是在运行时还是不能用
      

  8.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public class ThreadMain:System.Web.UI.Page
    {
    public ThreadMain()
    {
    }    private int Count;    public void setCount(int count)
        {
            this.Count = count;
        }    public int getCount()
        {
            return Count;
        }    public void ThreadProc()
        {
            string strScript = "<script>setPgb('pgbMain','{0}');</script>";
            for (int i = 0; i <= 100; i++)
            {
                System.Threading.Thread.Sleep(100);
                Page.Response.Write(string.Format(strScript, i));
                Page.Response.Flush();
            }
        }
    }
    Page传到这个类里也不行呀.
      

  9.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public class ThreadMain
    {
    public ThreadMain()
    {
    }    private int Count;
        private Page Page;    public void setCount(int count)
        {
            this.Count = count;
        }    public int getCount()
        {
            return Count;
        }    public void setPage(Page page)
        {
            this.Page = page;
        }
        public Page getPage()
        {
            return Page;
        }    public void ThreadProc()
        {
            string strScript = "<script>setPgb('pgbMain','{0}');</script>";
            for (int i = 0; i <= 100; i++)
            {
                System.Threading.Thread.Sleep(100);
                getPage().Response.Write(string.Format(strScript, i));
                getPage().Response.Flush();
            }
        }
    }
    自己搞出来了,从要调用的aspx.cs页面传个PAGE来,不要继承,就OK拉。