【问题标题】:Displaying list box items using loop使用循环显示列表框项目
【发布时间】:2012-01-10 17:45:43
【问题描述】:

我正在使用 do-while 循环来获取列表框的每个项目。

我的代码示例如下:

        do
        {
            string nameOfPersonFromWeb;

            //Here is code that do some task from web 
            //for eg. get the name list from the website...

            ListBox.Items.Add(nameOfPersonFromWeb);

            totalnumber++;
        } while (totalNumber<=25);

我的问题是,我没有立即得到每件物品。当循环结束时,它会显示整个项目。

我想在列表框中的每个循环中显示名称。我还想通过发送列表框项的索引来突出显示特定的列表框项。我在代码后面和 Asp.net 中使用 C#。

【问题讨论】:

  • @DJ KRAZE:因为至少有一次我必须进入循环。
  • 您应该使用 for 循环也请发布您分配 nameOfPersonFromWeb 的代码部分
  • 如果你必须至少输入一次,我想看看你在哪里分配 nameOfPersonFromWeb.. 你能粘贴完整的方法吗..
  • 为什么不填充您的集合,然后将 ListBox.ItemsSource 设置为新集合?
  • @DJ KRAZE:我不能分享其他代码,因为它是机密的。我的问题就像我在上面的问题中所说的那样。我的代码的所有其他部分都很好。

标签: c# asp.net listbox do-while


【解决方案1】:

您似乎期待与 Winforms 中相同的行为。

Asp.Net 使用回发。它将创建漏洞页面,然后在每个事件上“将其发送回浏览器”。这就是为什么您的项目会一次全部填充的原因。如果你想要一些“一对一”的行为,你需要在浏览器中使用 javascript 来完成(如果逻辑需要在服务器中,那么你需要使用 ajax)。

我不知道你到底想达到什么目标,所以我无法提供更多帮助。

【讨论】:

    【解决方案2】:

    您只需将新的ListItem 添加到您的收藏中。您使用的用法是默认行为,并按名称添加 ListItem。您可以使用重载的 ListItem constructor 来设置 ListItem 的名称和值。

        do
        {
            string nameOfPersonFromWeb;
    
            //Here is code that do some task from web 
            //for eg. get the name list from the website...
    
            ListBox.Items.Add(new ListItem(nameOfPersonFromWeb, totalNumber));
    
            totalnumber++;
        } while (totalNumber<=25);
    

    【讨论】:

    • 循环结束后显示全名,而不是我想要的。
    • 我不确定你想做什么。你能用你希望发生的事情来更新你的问题吗?根据您提供的代码 sn-p,我不确定您的最终目标是什么。
    • 名称是从每个循环中的某个 xyz 网站中提取的。我的问题是,我无法在提取名称时显示名称。整个循环完成后,我的列表框项目被项目填充。我想立即显示从该网站提取的每个名称。
    • 好的 - 我同意 @ahmadali 的观点 - 你想要做的事情应该在客户端而不是服务器端完成(你的问题/代码正在演示)。
    【解决方案3】:

    ASP.net 是服务器端,你对本地代码没有任何控制。如果有任何方法,你应该使用 ajax。

    【讨论】:

    • 你能给我一些例子或提示,其中 ajax 用于完成我的任务吗?
    • 直到现在我才使用 ajax。我看看有没有办法。但我不知道有什么办法。也许 Ajax 控件可以为你做到这一点
    【解决方案4】:

    如果您想要在显示名称之前加载页面,除非您异步执行此操作,否则您将无法完成此操作。但正如 ahmadali 所提到的,这是在服务器中,所以所有内容都将在加载完成后渲染。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      相关资源
      最近更新 更多