Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UpdatePanel работа с делегатом 
:(
    Опции темы
Shit_happenes
Дата 15.9.2009, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



есть простой updatePanel
Код

<asp:Button ID="btnSUbmit" runat="server" Text="Click Me" OnClick="btnSUbmit_Click" />
        <asp:UpdatePanel ID="updatePanel" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                <div id="tempDiv">
                    Result:
                    <asp:TextBox ID="txResult" TextMode="MultiLine" runat="server" Height="170px"></asp:TextBox>
            </ContentTemplate>
        </asp:UpdatePanel>


и код 
Код

Utils util = null;

    protected void Page_Load(object sender, EventArgs e)
    {
        scriptManager.RegisterAsyncPostBackControl(btnSUbmit);
        util = new Utils();

        if (util.GeneratedFinished == null)
        {
            util.GeneratedFinished +=
                    p =>
                    {
                        txResult.Text += p.ToString() + "\n";
                        updatePanel.Update();
                    };
        }
    }

    protected void btnSUbmit_Click(object sender, EventArgs e)
    {
        txResult.Text = String.Empty;
        util.Submit();
    }


код Utils
Код

public delegate void Generated(int articleID);
    public Generated GeneratedFinished;
    
    public void Submit()
    {
        for (int i = 0; i < 1000; i++)
        {
            if (GeneratedFinished != null)
                GeneratedFinished(i);
            Thread.Sleep(1000);
        }
    }


Мне надо чтобы после каждого цикла на странице у юзера отображалось новая строчка.
Но после updatePanel.Update(); после каждого цикла ничего не происходить. 
Что посоветуете?
PM MAIL   Вверх
2xmax
Дата 15.9.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 29.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 2



бррр... чем вам таймер не угодил?

Thread надо запустить сначала, а так вы просто запускаете метод Submit, а не используете многопоточность
поэтому у вас текстбокс заполнится сразу и полностью через 1000*1000 мс smile
 
то есть вы должны делать что-то типа этого:
Код

Thread t = new Thread(util.Submit);
 t.Start();


Это сообщение отредактировал(а) 2xmax - 16.9.2009, 01:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0934 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.