【问题标题】:How to display contents of a listbox as soon as an item is added?添加项目后如何显示列表框的内容?
【发布时间】:2013-02-15 06:15:51
【问题描述】:

我有一个应用程序,我需要在其中显示 System.Web.UI.ListBox 中函数的字符串输出列表。要获得一个字符串输出(执行函数),它需要一些时间。我在生成字符串输出后将其添加到列表框。我的问题是应用程序等待整个时间(直到所有项目都被计算并添加到列表框),最后一口气显示整个列表框(由于生成大量输出字符串需要时间而等待了一段时间)。请有人帮我在添加后立即在页面上显示 listox 项目。谢谢。

public void add_to_list_box()
{
   int b; 
   for (b = 0; b <= 20; b++) 
   {
      string message = demo(b);
      ListBox1.Items.Add(message);
   }
   Button2.Text = "completed"; 
}

【问题讨论】:

  • 请告诉我们你到目前为止做了什么以及如何做的?
  • public void add_to_list_box() { int b; for (b = 0; b
  • demo(b) 需要时间来执行和生成输出字符串。我想将列表框(到目前为止已填充的任何项目)显示为儿子,因为添加了一个项目。
  • 它等待整个for循环执行添加所有项目并一次性显示列表框项目(全部)。我希望它逐步显示。重新加载页面有帮助吗?
  • 换句话说,我想显示当前列表框的快照可能是在2秒左右的固定间隔之后。

标签: c# asp.net .net listbox-control


【解决方案1】:

您必须了解您的填充 ListBox 的代码是在 Web 服务器上运行的,它会生成 html / css / 等。整个页面生成后,它会发送到客户端。在您的情况下,客户端是 Web 浏览器,生成页面后,发送到客户端才显示。

为了实现您的即时显示,您必须使用Ajax

【讨论】:

    【解决方案2】:

    使用 Ajax。在url中放add_to_list_box()函数,然后在Ajax的成功部分,这样做:

    Button2.Text = "completed"; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多