1

我正在使用 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#。

4

4 回答 4

2

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

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

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

于 2012-01-10T18:10:50.267 回答
0

您只需将一个新的ListItem添加到您的集合中。您使用的用法是默认行为,并按名称添加 ListItem。您可以使用重载的 ListItem构造函数来设置 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);
于 2012-01-10T17:54:38.780 回答
0

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

于 2012-01-10T18:11:13.627 回答
0

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

于 2012-01-10T18:13:34.873 回答