Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Прогресс передачи данных в БД. Как показать. / 18 сообщений из 18, страница 1 из 1
11.04.2006, 17:41
    #33659249
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
Есть страница с линком "Аплоад", если на него кликнуть, то открывается (в том же окне ) другая страница где и находится ф-ия загрузки и лабель. Гружу порциями и в цикле обновляю Label1.Text ну типа загружено 50 из 100 Кб.
Так вот это всё не отображается до тех пор пока файл не будет загружен полностью. Как обновлять изобржение страницы ?
-------------------------------------------------------------------------
Скоро может начаться такая борьба за мир, что камня на камне не останется.
...
Рейтинг: 0 / 0
11.04.2006, 18:05
    #33659329
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
...
Рейтинг: 0 / 0
11.04.2006, 18:07
    #33659333
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
Для пущей ясности пример иллюстрирующий проблему:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
protected void Button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 100; i++)
        {
            for (int j = 0; j < 100000000; j++)
            {
                
            }
            this.Label1.Text = i.ToString();
        }
            
     
    }

В итоге мне будет выдано последнее значение, а хочется видеть как изменяется i в реальном времени.

В WindowsForms это было Application.DoEvents();
А тут есть что-нить такое что бы заставило страницу перерисоваться ?
Ну хелп что ли ?!

-------------------------------------------------------------------------
Скоро может начаться такая борьба за мир, что камня на камне не останется.
...
Рейтинг: 0 / 0
11.04.2006, 18:21
    #33659379
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
hDrummer http://www.sql.ru/forum/actualthread.aspx?tid=75740

"Ты не мудри, ты пальцем покажи..." (с) из анекдота.

Чёт всё это не то. Какой нафиг "ждите ответа, ждите привета", когда мне протекание процесса показать надо.

МСДН как всегда в своём репертуаре. Начинающий я, мне б убогому мааааленьнький но работающий примерчик, а не горстка кода тут, горстка там...
Как мне этот хлам в мой код имплементировать что б оно работало ?
Уроды они по большому то счёту. В ВинФормс убогий и кривой датагрид, в АСП.НЕТ отсутствующий прогрессбар. Печально всё это... :(( (я плакаль)
...
Рейтинг: 0 / 0
11.04.2006, 23:05
    #33659796
test111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
авторМСДН как всегда в своём репертуаре. Начинающий я, мне б убогому мааааленьнький но работающий примерчик, а не горстка кода тут, горстка там...
Как мне этот хлам в мой код имплементировать что б оно работало ?

Ну так называй вещи своими именами - "Напишите за меня рабочий код, а то моих маленьких мозгов нехватает на решение таких сложных задач..."
Отношение совсем другое будет - особенно, если, скажешь - готов заплатить за решение...
авторУроды они по большому то счёту. В ВинФормс убогий и кривой датагрид, в АСП.НЕТ отсутствующий прогрессбар. Печально всё это... :(( (я плакаль)
И, зеркало - очень кривое, особенно, когда в него смотришься LOL ;)
...
Рейтинг: 0 / 0
11.04.2006, 23:23
    #33659807
Dmitry Karabanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
http://www.gotdotnet.ru/Downloads/Examples/87686.aspx
может это поможет?
...
Рейтинг: 0 / 0
12.04.2006, 09:22
    #33660089
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
Если, вдруг, у тебя FW 2.0 и, если, вдруг, ты включишь мозги и фантазию, то вот этот пример, поможет твоему несчастью:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
<%@ Page Language="VB" %>

<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
   
    Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       
        Dim cbReference As String = Page.ClientScript.GetCallbackEventReference(Me, "arg", "ReceiveServerData", "context")
        Dim callbackScript As String = "function CallServer(arg, context) { " & cbReference & "} ;"
        Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "CallServer", callbackScript, True)

    End Sub

    Protected returnValue As String
    
    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
        
        returnValue = Now.ToLongTimeString
       
    End Sub
    
    Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult
        
        Return returnValue
        
    End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>GetServerTime</title>

    <script language="javascript" type="text/javascript">
// <![CDATA[

    function GetServerTime() {       
        CallServer("", "");        
    }

    function ReceiveServerData(rValue) {
        Results.innerText = rValue;
        setTimeout(GetServerTime,  250 );
    }


// ]]>
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <button onclick="GetServerTime()">
                Get Server Time</button>
            <br />
            <br />
            Server time: <span id="Results"></span>
            <br />
        </div>
    </form>
</body>
</html>
ЗЫ: хотя наверное, этот пример больше пригодится мне самому, когда флэшки под рукой не будет... ;)
...
Рейтинг: 0 / 0
03.05.2006, 21:09
    #33705319
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
vladgrigЕсли, вдруг, у тебя FW 2.0 и, если, вдруг, ты включишь мозги и фантазию, то вот этот пример, поможет твоему несчастью:


Спасибо. В ИЕ работает, но в Фирефоксе нет :( Как быть ?
...
Рейтинг: 0 / 0
03.05.2006, 22:20
    #33705382
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
авторСпасибо. В ИЕ работает, но в Фирефоксе нет :( Как быть ?
честно сказать, небыло уверенности, что в IE будет работать - так что пол дела уже сделано... вот такая версия FX???
...
Рейтинг: 0 / 0
04.05.2006, 10:23
    #33705928
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
vladgrig авторСпасибо. В ИЕ работает, но в Фирефоксе нет :( Как быть ?
честно сказать, небыло уверенности, что в IE будет работать - так что пол дела уже сделано... вот такая версия FX???

Нет, просто Firefox 1.5.
А что надо 1.5.0.1 ?
Я думал что проблема в Results.innerText = rValue;
и сделал

var elm = document.getElementById('Results');
elm.innerHTML = rValue;

результат тот же: В ИЕ работает, а в ФФ нет.
Такое впечатление что просто функции не запускаются.
Ничччего не понимаю...
Есть идеи ?
...
Рейтинг: 0 / 0
04.05.2006, 11:46
    #33706324
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
трудно сказать, действительно лаги прикольные... кроссброузерность - дело не шуточное ;)
у меня вот так заработало:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<script language="javascript" type="text/javascript">
// <![CDATA[

    function GetServerTime() {       
        CallServer("", "");        
    }

    function ReceiveServerData(rValue) {
        
        var d = document.getElementById("Results");

	if(d.innerText)
		d.innerText = rValue.toString();
	else
		d.textContent = rValue.toString();

	d = null;
	setTimeout(GetServerTime,  250 );
        
    }
        
// ]]>
    </script>
P.S. для справки - в Opera - вообще пару раз тикнет, потом останавливается и, дальше не идёт...
...
Рейтинг: 0 / 0
05.05.2006, 13:25
    #33710054
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
Так не работает ни в IE ни в FF :(
-------------------------------------------------------------------------
Скоро может начаться такая борьба за мир, что камня на камне не останется.
...
Рейтинг: 0 / 0
05.05.2006, 14:18
    #33710316
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
авторТак не работает ни в IE ни в FF :(

у меня работает - так что могу всего лишь выразить сочуствие
...
Рейтинг: 0 / 0
05.05.2006, 15:36
    #33710697
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
по-моему такую фичу модна сделать через AJAX
_______________________________________________________
Never ask users what they want, or they'll tell you.
...
Рейтинг: 0 / 0
05.05.2006, 16:43
    #33710969
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
Лиман Артёмпо-моему такую фичу модна сделать через AJAX
_______________________________________________________
Never ask users what they want, or they'll tell you.


А что за зверь такой этот AJAX ?
...
Рейтинг: 0 / 0
05.05.2006, 16:48
    #33711000
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
авторпо-моему такую фичу модна сделать через AJAX

Артём - тебе поверю ;) - объясни, чем отличается AJAX от ICallbackEventHandler (в 2005)?
P.S. вот этот разговор меня так и неубедил, что есть какое то различие...
...
Рейтинг: 0 / 0
05.05.2006, 17:18
    #33711115
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
vladgrigАртём - тебе поверю ;)

чем вызвано такое большое доверие? ;)

vladgrigобъясни, чем отличается AJAX от ICallbackEventHandler (в 2005)?
P.S. вот этот разговор меня так и неубедил, что есть какое то различие...

честно говоря что такое ICallbackEventHandler я не знаю, так как всё еще работаю в старой доброй 2003 и скорее всего еще не скоро слезу. Про AJAX тоже только краем уха слышал. Всё что могу сказать, как свое ИМХО, AJAX, мне так кажеться, дает возможность управлять процессом на больее низком уровне. В то время как ICallbackEventHandler реализован, я так понимаю, мелкософтом, и что либо изменить там не возможно.

ЗЫ: Это всё мои допущения, возможно реальная картина немного другая...
...
Рейтинг: 0 / 0
05.05.2006, 18:02
    #33711284
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогресс передачи данных в БД. Как показать.
авторчем вызвано такое большое доверие? ;)

авторОткуда: УКРАИНА, г.Львов
Сообщений: 1175
старые знакомые - просто ;)
P.S. авторИМХО, AJAX, мне так кажеться, дает возможность управлять процессом на больее низком уровне. В то время как ICallbackEventHandler реализован, я так понимаю, мелкософтом, и что либо изменить там не возможно.

реальная картина, на мой взгляд ;) такова - основа у всех одна (описана в википедии) - навороты у всех разные - это как бы создать сайт при помощи ASP.NET - используем одну технологию, а реализация наворотов сильно отличается...
P.P.S. это тоже моё ИМХО - если есть др. мнения - готов выслушать...
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Прогресс передачи данных в БД. Как показать. / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]