c#关于点击按钮,后台老板按钮事件中写循环1到100000,让前台的label也显示出当前循环的值

c#关于点击按钮,后台按钮事件中写循环1到100000,让前台的label也显示出当前循环的值。
ASP.NET  web程序, 我在一个按钮的事件中, 写了一个循环, 从1循环到100000,然后在前台用一个label显示当前循环的值,比如说当循环到100的时候, label能显示100。

这是我的部分源码 :

前台:

    <asp:Label ID="lb_wait" runat="server" Text=""></asp:Label>
    <asp:Button ID="bt_sc" runat="server" Text="导入" onclick="bt_sc_Click" />

后台:
    protected void bt_sc_Click(object sender, EventArgs e)
    {
        int count=100000;
        for (int i = 0; i < count; i++)
        {
               lb_wait.Text = (i + 1).ToString();
        }
    }

可是发现实现不了,当点击了按钮后,label会等程序执行完后才显示, 那时候已经显示100000了, 我想要的是想当点击按钮的时候, 每循环一次,然后label的值就改变一次并且在页面能显示看得到,其实我是想自己动手做的类似进度条的了。。。

嗯,昨天问了一次, 感觉问的有点不明所以, 所以今天重新发帖问下大家了。

昨天有哥们给我说用线程做, 然后按照他说的自己写了代码, 前台不变,后台如下。

    protected void bt_sc_Click(object sender, EventArgs e)
    {
            Thread thread = new Thread(new ThreadStart(DO));
            thread.IsBackground = true;
            thread.Start();

    }

 public void DO()
    {  
        int count=1000001;
        for (int i = 0; i < count; i++)
        {
            CrossThreadCalls.SafeInvoke(this.lb_wait, new CrossThreadCalls.TaskDelegate(delegate()
            {
                lb_wait.Text = (i + 1).ToString();
            }));
        }
    }

这段代码出现了问题,报错说CrossThreadCalls不存在,是否缺少引用,如图:
c#关于点击按钮,后台老板按钮事件中写循环1到100000,让前台的label也显示出当前循环的值

当我这样隐藏的时候:
           //CrossThreadCalls.SafeInvoke(this.lb_wait, new CrossThreadCalls.TaskDelegate(delegate()
            //{
                lb_wait.Text = (i + 1).ToString();
            //}));
然后可以运行程序了,发现点击一下按钮, 不是按照从1循环到100000来显示的, 而是每点击下按钮, label显示不同的数字。。。

嗯, 现在我就是想请各位能帮下我  ,点击按钮,后台1循环100000,前台的label显示出当前循环的值.   能给我源码最好了,然后我自己去慢慢消化,带注释最好的了。 

请原谅我这个菜鸟这么磨叽。。。c#关于点击按钮,后台老板按钮事件中写循环1到100000,让前台的label也显示出当前循环的值
------解决方案--------------------
你现在是循环已经放到线程里了,就差显示,是吧
查:委托操作UI
有现成的代码和讲解,复制粘贴就行了
------解决方案--------------------
你百度下 多线程 UI交互 应该有蛮多例子