您好我正在尝试在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
答案 0 :(得分:0)
我明白了。这是不可能的,因为服务器等待整个循环完成处理然后将数据发送回网页,因此更新永远不会真正更新,直到数据实际存在。