Отображение элементов списка со списком - PullRequest
1 голос
/ 10 января 2012

Я использую цикл 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);

Моя проблема в том, что я не получаю каждый предмет мгновенно. Когда цикл заканчивается, он отображает все элементы.

Я хочу отобразить имя в каждом цикле в списке. Я также хочу выделить отдельные элементы списка, отправив индекс элемента списка. Я использую C # в коде позади и Asp.net.

Ответы [ 4 ]

2 голосов
/ 10 января 2012

Кажется, вы ожидаете того же поведения, что и в Winforms.

Asp.Net работает с постбэками. Он создаст страницу дыры и затем "отправит ее обратно в браузер" при каждом событии. Вот почему ваши предметы заполнены все сразу. Если вам нужно поведение «один за другим», вам нужно сделать это в браузере, используя javascript (если логика должна быть на сервере, вам нужно будет использовать ajax).

Я не знаю, чего именно вы пытаетесь достичь, поэтому я не могу помочь больше.

0 голосов
/ 10 января 2012

Вы не сможете выполнить это, если не сделаете это асинхронно, если вы хотите, чтобы страница загружалась до отображения имен. Но, как упоминал Ахмадали, это происходит на сервере, поэтому все будет отображаться после завершения загрузки.

0 голосов
/ 10 января 2012

ASP.net находится на стороне сервера, и у вас нет никакого контроля над локальным кодом. Вы должны использовать ajax, если есть какой-либо способ.

0 голосов
/ 10 января 2012

Вам просто нужно добавить новый 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);
...