在循环期间刷新ListBox控件



NET和VB。. NET代码后面,我有以下代码:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim I As Integer = 0
    For I = 0 To 10
        ListBox1.Items.Add(I)
        ListBox1.DataBind()
        System.Threading.Thread.Sleep(300)
    Next
End Sub

代码的预期输出是在每次迭代时更新listbox1控件,但实际发生的是在整个循环结束后更新listbox1控件。

是否有一种方法来更新listbox1控件,因为它的代码逻辑的意图?

您需要将ListBox放在UpdatePanel中,并触发Button1_Click事件,如Async;像这样:

<asp:UpdatePanel runat="server" ID="pnlUpdate">
      <ContentTemplate>
          <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
      </ContentTemplate>
      <Triggers>
          <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
      </Triggers>
</asp:UpdatePanel>

应该是这样的:

Dim I As Integer = 0
For I = 0 To 10
   ListBox1.Items.Add(I)
Next

如果你调试,然后你会看到每一次迭代一个项目被添加到ListBox1控件的Items,但效果只有在页面/表单加载时才可见

最新更新