Обновить элемент управления ListBox во время цикла - PullRequest
0 голосов
/ 06 декабря 2011

Используя код ASP.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, как это предусмотрено логикой кода?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2011

Это должно работать соответственно:

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

Если вы выполните отладку, вы увидите, что при каждой итерации элемент добавляется в элементы управления элемента ListBox1, но эффект виден только при загрузке страницы / формы.

0 голосов
/ 06 декабря 2011

Вам нужно поместить 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...