none
Не получается вернуть значение метода POST RRS feed

  • Вопрос

  • Добрый день.

    С технологией ajax знаком буквально 2-3 дня. Меня интересует один вопрос, методом POST обращаюсь в метод со стороны сервера (c#), метод запроса из БД. Записываю все в DropDownList

    OracleCommand cmd = new OracleCommand("select col1 from table1", connect);
                connect.Open();
                OracleDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                DropDownList1.Items.Add(reader["col1"].ToString());
                }
    ...

    Когда обработка заканчивается, то DropdownList абсолютно пустой... 

    Пробовал передать массив (строки из БД) в методе передачи клиенту. Перехватывал JS и циклом записывал в DropDownList, но время затраченное обработкой клиентом желает быть лучшего... где-то 1 мин. Данных в массиве около 20-30 тыс. Искал по многим сайтам, но ничего толкового найти не смог.. 

    P.S: .netFramework 2.0


    • Изменено Kioto 3 октября 2013 г. 10:17
    3 октября 2013 г. 9:00

Ответы

  • DropdownList пустой потому что это серверный элемент. Проще говоря, по запросу через XmlHttpRequest выполнилось какое-то действие на сервере, но контрол в браузере не получил команду на обновление.  Насколько я понимаю Вы используете ASP.NET Web Forms? 

    Забивать данные на клиенте - правильная идея, только кидать такой объем данных (10-20К) не есть хорошо, т.к. нагружает сервер не нужными операциями (думаю мало кто прокрутит хотя бы 1000 значений, зачем их тогда клиенту слать?), да и у клиента не всегда есть хороший канал связи (usb-модемы, сотовые телефоны и т.п.) Кидайте порциями, соответственно нужно переделать логику вызова серверных методов и привязки данных на клиенте.

    Вообще, под второй фрейморк есть такая штука как обратные вызовы, ajax (или atlas?) toolkit. Погуглите, может быть пригодится.

    3 октября 2013 г. 10:02
  • Спасибо за отклик!

    Во-первых, да это Webforms. 

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

    Данных очень много и сам проект является увесистым. Изначально все обработки были задуманы со стороны сервера, что соответственно грузила страницу постоянными постбаками... После чего запросили сделать более легкую версию, а кроме как асинхронного метода AJAX пока ничего в голову не пришло.

    Можете дать еще какой-нибудь совет? 

    Программная реализация обратных вызовов клиента без обратной передачи в веб-страницы ASP.NET

    3 октября 2013 г. 10:51

Все ответы

  • Здравствуйте. Заглавие топика не соответствует содержимому, попробуйте перефразировать. А то пока не понятно в чём проблема.

    Сделаем содержимое сообщества лучше, вместе!

    3 октября 2013 г. 10:01
    Модератор
  • DropdownList пустой потому что это серверный элемент. Проще говоря, по запросу через XmlHttpRequest выполнилось какое-то действие на сервере, но контрол в браузере не получил команду на обновление.  Насколько я понимаю Вы используете ASP.NET Web Forms? 

    Забивать данные на клиенте - правильная идея, только кидать такой объем данных (10-20К) не есть хорошо, т.к. нагружает сервер не нужными операциями (думаю мало кто прокрутит хотя бы 1000 значений, зачем их тогда клиенту слать?), да и у клиента не всегда есть хороший канал связи (usb-модемы, сотовые телефоны и т.п.) Кидайте порциями, соответственно нужно переделать логику вызова серверных методов и привязки данных на клиенте.

    Вообще, под второй фрейморк есть такая штука как обратные вызовы, ajax (или atlas?) toolkit. Погуглите, может быть пригодится.

    3 октября 2013 г. 10:02
  • Спасибо за отклик!

    Во-первых, да это Webforms. 

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

    Данных очень много и сам проект является увесистым. Изначально все обработки были задуманы со стороны сервера, что соответственно грузила страницу постоянными постбаками... После чего запросили сделать более легкую версию, а кроме как асинхронного метода AJAX пока ничего в голову не пришло.

    Можете дать еще какой-нибудь совет? 

    3 октября 2013 г. 10:24
  • Спасибо за отклик!

    Во-первых, да это Webforms. 

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

    Данных очень много и сам проект является увесистым. Изначально все обработки были задуманы со стороны сервера, что соответственно грузила страницу постоянными постбаками... После чего запросили сделать более легкую версию, а кроме как асинхронного метода AJAX пока ничего в голову не пришло.

    Можете дать еще какой-нибудь совет? 

    Программная реализация обратных вызовов клиента без обратной передачи в веб-страницы ASP.NET

    3 октября 2013 г. 10:51
  • Благодарю за линк. Буду изучать, о результатах отпишусь.
    • Изменено Kioto 3 октября 2013 г. 11:04
    3 октября 2013 г. 11:04