Asp.net 通过循环更新textbox文本属性

Asp.net 通过循环更新textbox文本属性,asp.net,Asp.net,我想从循环内更新Asp.Net中textbox控件的文本属性。我曾尝试将Ajax updatepanel与计时器控件一起使用,但无法更新文本属性。我从上周开始一直在搜索此控件,但无法找到任何答案。非常感谢您的帮助 <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px"> </asp:ListBox> <asp:Button ID="Button2" runa

我想从循环内更新Asp.Net中textbox控件的文本属性。我曾尝试将Ajax updatepanel与计时器控件一起使用,但无法更新文本属性。我从上周开始一直在搜索此控件,但无法找到任何答案。非常感谢您的帮助

    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
详情如下:

    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
这是我的按钮点击事件在这段代码中你可以看到我正在更新

TxtContent.Text
    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
在循环中,文本由一个名为

ReturnBodyText()
    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
之后,我将文本分配给viewstate,以便在timer tick事件中调用文本并更新textbox文本属性,然后在timer tick事件中将viewstate值分配给textbox

protected void Button4_Click(object sender, EventArgs e)
{
    ArrayList FilePath = (ArrayList)ViewState["ArrayList"];
    int i = 0;
    int b = 1;
    foreach(string[] sr in FilePath)
    {
        string Month = sr[i];
        string datewithzero;
        datewithzero = String.Format("{0:00}", b);
        string[] FilesArray = (string[])listfiles(Month, datewithzero).ToArray(typeof(string));

        foreach (string FileNameWithExtension in FilesArray)
        {
            ListBox4.Items.Add(FileNameWithExtension);
            TxtContent.Text = ReturnBodyText(Month, datewithzero, FileNameWithExtension);
            ViewState["Content"] = TxtContent.Text;
            Timer1.Enabled = true;
            Timer1_Tick(ViewState["Content"], e);
        }
        i = i + 1;
        b = b + 1;
    }
}

protected void Timer1_Tick(object sender, EventArgs e)
{
    TxtContent.Text =(string) ViewState["Content"];
    TxtContent.DataBind();
}
    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
我希望上面的描述能帮助你们理解我的问题

    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
完整的aspx文件和代码如下所示:

    <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
    </asp:ListBox>

    <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
        Text="To be pressed first" Width="130px" />

    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
        Text="To be pressed 2nd" Width="131px" Height="26px" />

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

            <asp:Timer ID="Timer1" runat="server" Interval="1000" 
        ontick="Timer1_Tick" Enabled="False">
            </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                TextMode="MultiLine"></asp:TextBox>
            <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                Text="To be pressed Third" Width="122px" />

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
    </asp:UpdatePanel>

</div>
</form>
  • Aspx代码:

        <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
        </asp:ListBox>
    
        <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
            Text="To be pressed first" Width="130px" />
    
        <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
            Text="To be pressed 2nd" Width="131px" Height="26px" />
    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
                <asp:Timer ID="Timer1" runat="server" Interval="1000" 
            ontick="Timer1_Tick" Enabled="False">
                </asp:Timer>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                    TextMode="MultiLine"></asp:TextBox>
                <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                    Text="To be pressed Third" Width="122px" />
    
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
    
    </div>
    </form>
    

        <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
        </asp:ListBox>
    
        <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
            Text="To be pressed first" Width="130px" />
    
        <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
            Text="To be pressed 2nd" Width="131px" Height="26px" />
    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
                <asp:Timer ID="Timer1" runat="server" Interval="1000" 
            ontick="Timer1_Tick" Enabled="False">
                </asp:Timer>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                    TextMode="MultiLine"></asp:TextBox>
                <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                    Text="To be pressed Third" Width="122px" />
    
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
    
    </div>
    </form>
    

        <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
        </asp:ListBox>
    
        <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
            Text="To be pressed first" Width="130px" />
    
        <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
            Text="To be pressed 2nd" Width="131px" Height="26px" />
    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
                <asp:Timer ID="Timer1" runat="server" Interval="1000" 
            ontick="Timer1_Tick" Enabled="False">
                </asp:Timer>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                    TextMode="MultiLine"></asp:TextBox>
                <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                    Text="To be pressed Third" Width="122px" />
    
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
    
    </div>
    </form>
    

        <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
        </asp:ListBox>
    
        <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
            Text="To be pressed first" Width="130px" />
    
        <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
            Text="To be pressed 2nd" Width="131px" Height="26px" />
    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
                <asp:Timer ID="Timer1" runat="server" Interval="1000" 
            ontick="Timer1_Tick" Enabled="False">
                </asp:Timer>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                    TextMode="MultiLine"></asp:TextBox>
                <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                    Text="To be pressed Third" Width="122px" />
    
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
    
    </div>
    </form>
    

        <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
        </asp:ListBox>
    
        <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
            Text="To be pressed first" Width="130px" />
    
        <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
            Text="To be pressed 2nd" Width="131px" Height="26px" />
    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
                <asp:Timer ID="Timer1" runat="server" Interval="1000" 
            ontick="Timer1_Tick" Enabled="False">
                </asp:Timer>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                    TextMode="MultiLine"></asp:TextBox>
                <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                    Text="To be pressed Third" Width="122px" />
    
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
    
    </div>
    </form>
    

    • 遗憾的是,您的代码对我帮助不大。然而,我写了这篇文章,我相信它能部分满足你的需求。但在我看来,没有什么能做的了。代码如下:

          <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
          </asp:ListBox>
      
          <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
              Text="To be pressed first" Width="130px" />
      
          <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
              Text="To be pressed 2nd" Width="131px" Height="26px" />
      
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
      
                  <asp:Timer ID="Timer1" runat="server" Interval="1000" 
              ontick="Timer1_Tick" Enabled="False">
                  </asp:Timer>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>
                  <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                      TextMode="MultiLine"></asp:TextBox>
                  <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                      Text="To be pressed Third" Width="122px" />
      
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
              </Triggers>
          </asp:UpdatePanel>
      
      </div>
      </form>
      
      .aspx文件:

          <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
          </asp:ListBox>
      
          <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
              Text="To be pressed first" Width="130px" />
      
          <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
              Text="To be pressed 2nd" Width="131px" Height="26px" />
      
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
      
                  <asp:Timer ID="Timer1" runat="server" Interval="1000" 
              ontick="Timer1_Tick" Enabled="False">
                  </asp:Timer>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>
                  <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                      TextMode="MultiLine"></asp:TextBox>
                  <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                      Text="To be pressed Third" Width="122px" />
      
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
              </Triggers>
          </asp:UpdatePanel>
      
      </div>
      </form>
      
      <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
      
      <!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:Timer runat="server" ID="Timer1" Interval="1000" Enabled="true" 
                  ontick="Timer1_Tick" />
              <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                  <Triggers>
                      <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                  </Triggers>
                  <ContentTemplate>
                      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
                      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                      <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                  </ContentTemplate>
              </asp:UpdatePanel>
          </div>
          </form>
      </body>
      </html>
      
      
      
      aspx.cs文件:

          <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
          </asp:ListBox>
      
          <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
              Text="To be pressed first" Width="130px" />
      
          <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
              Text="To be pressed 2nd" Width="131px" Height="26px" />
      
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
      
                  <asp:Timer ID="Timer1" runat="server" Interval="1000" 
              ontick="Timer1_Tick" Enabled="False">
                  </asp:Timer>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>
                  <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                      TextMode="MultiLine"></asp:TextBox>
                  <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                      Text="To be pressed Third" Width="122px" />
      
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
              </Triggers>
          </asp:UpdatePanel>
      
      </div>
      </form>
      
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Threading;
      
      namespace WebApplication1
      {
          public partial class Default : System.Web.UI.Page
          {
              protected static string keeper;
              protected static bool inUse = false;
              protected void Page_Load(object sender, EventArgs e) {}
              protected void Button1_Click(object sender, EventArgs e)
              {
                  Thread worker = new Thread(new ThreadStart(workerFunction));
                  worker.Start();
                  return;
              }
              protected void workerFunction()
              {
                  inUse = true;
                  for (int i = 0; i < 3; i++)
                  {
                      TextBox1.Text += "foo";
                      keeper = TextBox1.Text;
                      Thread.Sleep(1000);
                  }
                  inUse = false;
                  keeper = "";
              }
              protected void Timer1_Tick(object sender, EventArgs e)
              {
                  if (inUse)
                  {
                      TextBox1.Text = Convert.ToString(keeper);
                  }
              }
          }
      }
      
      使用系统;
      使用System.Collections.Generic;
      使用System.Linq;
      使用System.Web;
      使用System.Web.UI;
      使用System.Web.UI.WebControl;
      使用系统线程;
      命名空间WebApplication1
      {
      公共部分类默认值:System.Web.UI.Page
      {
      受保护的静态管柱保持器;
      受保护的静态bool inUse=false;
      受保护的无效页面加载(对象发送方,事件参数e){}
      受保护的无效按钮1\u单击(对象发送者,事件参数e)
      {
      线程工作线程=新线程(新线程开始(workerFunction));
      worker.Start();
      返回;
      }
      受保护的void workerFunction()
      {
      因纽斯=真;
      对于(int i=0;i<3;i++)
      {
      TextBox1.Text+=“foo”;
      keeper=TextBox1.Text;
      睡眠(1000);
      }
      因纽斯=假;
      keeper=“”;
      }
      受保护的无效计时器1_刻度(对象发送方,事件参数e)
      {
      如果(使用)
      {
      TextBox1.Text=Convert.ToString(keeper);
      }
      }
      }
      }
      
      遗憾的是,你的代码对我帮助不大。然而,我写了这篇文章,我相信它能部分满足你的需求。但在我看来,没有什么能做的了。代码如下:

          <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
          </asp:ListBox>
      
          <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
              Text="To be pressed first" Width="130px" />
      
          <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
              Text="To be pressed 2nd" Width="131px" Height="26px" />
      
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
      
                  <asp:Timer ID="Timer1" runat="server" Interval="1000" 
              ontick="Timer1_Tick" Enabled="False">
                  </asp:Timer>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>
                  <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                      TextMode="MultiLine"></asp:TextBox>
                  <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                      Text="To be pressed Third" Width="122px" />
      
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
              </Triggers>
          </asp:UpdatePanel>
      
      </div>
      </form>
      
      .aspx文件:

          <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
          </asp:ListBox>
      
          <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
              Text="To be pressed first" Width="130px" />
      
          <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
              Text="To be pressed 2nd" Width="131px" Height="26px" />
      
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
      
                  <asp:Timer ID="Timer1" runat="server" Interval="1000" 
              ontick="Timer1_Tick" Enabled="False">
                  </asp:Timer>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>
                  <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                      TextMode="MultiLine"></asp:TextBox>
                  <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                      Text="To be pressed Third" Width="122px" />
      
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
              </Triggers>
          </asp:UpdatePanel>
      
      </div>
      </form>
      
      <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
      
      <!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:Timer runat="server" ID="Timer1" Interval="1000" Enabled="true" 
                  ontick="Timer1_Tick" />
              <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                  <Triggers>
                      <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                  </Triggers>
                  <ContentTemplate>
                      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
                      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                      <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                  </ContentTemplate>
              </asp:UpdatePanel>
          </div>
          </form>
      </body>
      </html>
      
      
      
      aspx.cs文件:

          <asp:ListBox ID="ListBox1" runat="server" Height="509px" Width="59px">
          </asp:ListBox>
      
          <asp:Button ID="Button2" runat="server" Height="26px" onclick="Button2_Click" 
              Text="To be pressed first" Width="130px" />
      
          <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
              Text="To be pressed 2nd" Width="131px" Height="26px" />
      
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
      
                  <asp:Timer ID="Timer1" runat="server" Interval="1000" 
              ontick="Timer1_Tick" Enabled="False">
                  </asp:Timer>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>
                  <asp:TextBox ID="TxtContent" runat="server" Height="508px" AutoPostBack="True" 
                      TextMode="MultiLine"></asp:TextBox>
                  <asp:Button ID="Button5" runat="server" Height="26px" onclick="Button4_Click" 
                      Text="To be pressed Third" Width="122px" />
      
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
              </Triggers>
          </asp:UpdatePanel>
      
      </div>
      </form>
      
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Threading;
      
      namespace WebApplication1
      {
          public partial class Default : System.Web.UI.Page
          {
              protected static string keeper;
              protected static bool inUse = false;
              protected void Page_Load(object sender, EventArgs e) {}
              protected void Button1_Click(object sender, EventArgs e)
              {
                  Thread worker = new Thread(new ThreadStart(workerFunction));
                  worker.Start();
                  return;
              }
              protected void workerFunction()
              {
                  inUse = true;
                  for (int i = 0; i < 3; i++)
                  {
                      TextBox1.Text += "foo";
                      keeper = TextBox1.Text;
                      Thread.Sleep(1000);
                  }
                  inUse = false;
                  keeper = "";
              }
              protected void Timer1_Tick(object sender, EventArgs e)
              {
                  if (inUse)
                  {
                      TextBox1.Text = Convert.ToString(keeper);
                  }
              }
          }
      }
      
      使用系统;
      使用System.Collections.Generic;
      使用System.Linq;
      使用System.Web;
      使用System.Web.UI;
      使用System.Web.UI.WebControl;
      使用系统线程;
      命名空间WebApplication1
      {
      公共部分类默认值:System.Web.UI.Page
      {
      受保护的静态管柱保持器;
      受保护的静态bool inUse=false;
      受保护的无效页面加载(对象发送方,事件参数e){}
      受保护的无效按钮1\u单击(对象发送者,事件参数e)
      {
      线程工作线程=新线程(新线程开始(workerFunction));
      worker.Start();
      返回;
      }
      受保护的void workerFunction()
      {
      因纽斯=真;
      对于(int i=0;i<3;i++)
      {
      TextBox1.Text+=“foo”;
      keeper=TextBox1.Text;
      睡眠(1000);
      }
      因纽斯=假;
      keeper=“”;
      }
      受保护的无效计时器1_刻度(对象发送方,事件参数e)
      {
      如果(使用)
      {
      TextBox1.Text=Convert.ToString(keeper);
      }
      }
      }
      }
      
      您能确认您的计时器是否正常工作吗?当你调试时,你正在点击Timer1\u Tick事件?如果它正常,你能发布所有相关的代码吗?包括.aspx内容。那会让我们重现你的问题。虽然我尊重那些不用它就能解决这个问题的人,但我不是他们中的一员。@Bobby是的,我的Timer1\u Tick事件正在调试模式下运行。执行后是否有空的文本框或错误的值?我试过你的密码;谢谢你的回复,我在循环执行过程中得到了一个空文本框,但它在循环结束时显示了值。循环的最后一个值显示在文本框中,我想要这些值,循环过程中的值。你能确认你的计时器工作吗?当你调试时,你正在点击Timer1\u Tick事件?如果它正常,你能发布所有相关的代码吗?包括.aspx内容。那会让我们重现你的问题。虽然我尊重那些不用它就能解决这个问题的人,但我不是他们中的一员。@Bobby是的,我的Timer1\u Tick事件正在调试模式下运行。执行后是否有空的文本框或错误的值?我试过你的密码;谢谢你的回复,我在循环执行过程中得到了一个空的文本框,但是它在循环结束时会显示值。循环的最后一个值会显示在文本框中,我想要这些值,在循环过程中也会显示这些值