updatepanel里面一个Button1和一个TextBox1
Button1的Click事件如下:
            TextBox1.Text += "1";
            Thread.Sleep(1000);
            TextBox1.Text += "2";
            Thread.Sleep(1000);
            TextBox1.Text += "3";
            Thread.Sleep(1000);
            TextBox1.Text += "4";
            Thread.Sleep(1000);我的本意是想TextBox1的text增加一个1后等一秒再增加一个2,后面类推,怎么好象是等了4秒钟后1234同时在TextBox1里面显示了,我的本意应该怎么实现呢???

解决方案 »

  1.   

      前台 <div>
               
                <asp:Timer ID="Timer1" runat="server"  Interval="1000"   OnTick="Timer1_Tick">
                </asp:Timer>
                <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                    </Triggers>
                    <ContentTemplate>
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                    </ContentTemplate>
                </asp:UpdatePanel>
     </div>
    后台:
     protected void Timer1_Tick(object sender, EventArgs e)
        {
            string strText = (TextBox1.Text.Length == 0) ? "0" : TextBox1.Text.Substring(TextBox1.Text.Length - 1, 1);
            int itxt = Convert.ToInt32(strText);
            itxt++;
         
            if (itxt < 6)
            {
                TextBox1.Text += Convert.ToString(itxt);
            }
            else
            {
                Timer1.Enabled=false;
            }    }
      

  2.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowNumber.aspx.cs" Inherits="ShowNumber" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:TextBox ID="tbxResult" runat="server"></asp:TextBox>
                    <asp:Button ID="btnStart" runat="server" Text="开始" onclick="btnStart_Click" />
                    <asp:Button ID="btnEnd" runat="server" Text="结束" onclick="btnEnd_Click" />
                    
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="Timer" EventName="Tick" />
                </Triggers>
            </asp:UpdatePanel>
            <asp:Timer ID="Timer" runat="server" ontick="Timer_Tick" Interval="1000">
                    </asp:Timer>
        
        </div>
        </form>
    </body>
    </html>后台:using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;public partial class ShowNumber : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }    protected void Timer_Tick(object sender, EventArgs e)
        {
            if (tbxResult.Text.Length > 0 && tbxResult.Text.Length < 9)
            {
                int index = tbxResult.Text.Length == 1 ? (Int32.Parse(tbxResult.Text)) : Int32.Parse(Session["CurrentNumber"].ToString());
                Session["CurrentNumber"] = (index + 1).ToString();
                tbxResult.Text.Substring(1);
                tbxResult.Text += (index + 1).ToString();
            }
            else
            {
                Timer.Enabled = false;
            }
        }    protected void btnStart_Click(object sender, EventArgs e)
        {
            this.tbxResult.Text = "1";
            Timer.Enabled = true;
        }    protected void btnEnd_Click(object sender, EventArgs e)
        {
            this.Timer.Enabled = false;
        }
    }
      

  3.   

    tbxResult.Text.Substring(1); 这句删掉
      

  4.   

    学了C#你就忘了JAVASCRIPT了?简单问题为什么要复杂化?
    还有你应该好好的研究下asp.net页面的生成过程