Loop中的UpdatePanel不更新文本框

时间:2015-06-03 17:30:07

标签: vb.net

您好我正在尝试在For Each循环中使用UpdatePanel。现在它等待整个过程完成,然后立即显示所有文本。 AddRecords实际上循环三次(三个不同的记录集)。我希望它每次添加到文本框时都会更新。我尝试过定时器和按钮点击,但是一旦我点击“开始记录”按钮 - 它就不允许我按任何其他内容直到它完成。

的.aspx

<asp:ScriptManager ID="ScriptManager1" runat="server" />
  <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server">
      <ContentTemplate>
           <fieldset>
             <legend>UpdatePanel</legend>
                <asp:TextBox ID="ReportTextBox" runat="server" Height="233px" Width="430px"></asp:TextBox><br />
           </fieldset>
      </ContentTemplate>
  </asp:UpdatePanel>

背后的代码

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    ScriptManager1.RegisterAsyncPostBackControl(Me.ReportTextBox)
End Sub

Protected Sub AddRecords(ByVal dt As DataTable)
    For Each row As DataRow In dt.Rows
        Me.ReportTextBox.Text = row.EquipNumber + vbNewLine
        UpdatePanel1.Update()
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

我明白了。这是不可能的,因为服务器等待整个循环完成处理然后将数据发送回网页,因此更新永远不会真正更新,直到数据实际存在。