ASP.Net: Как добавить строки в репитер, используя DOM / Javascript - PullRequest
1 голос
/ 14 января 2009

Я знаю, что ретранслятор asp.net не имеет объектной модели на стороне клиента, и мы застряли на повышении производительности многих страниц, которые имеют ретранслятор / gridview с функциональностью добавления строк к ним с помощью серверного кода.

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

Есть ли способ сделать это на стороне клиента, чтобы улучшить производительность добавления строк в репитер / сетку. Мы используем Asp.net 2.0

Ответы [ 2 ]

1 голос
/ 14 января 2009

UpdatePanels по-прежнему выполняют полную обратную передачу страницы, а затем просто обновляют любой контент внутри панели. Отсюда и ваше замедление.

Что касается использования AJAX для ускорения процесса, вам нужно использовать прямые вызовы AJAX для запроса только тех данных, которые вам нужны. Вы можете сделать это с ASP.NET AJAX.

В обработчике события page_load зарегистрируйте свой AJAX. (VB.NET)

Ajax.Utility.RegisterTypeForAJAX(GetType(ThisPageClass))

Затем создайте функцию, которая будет доступна AJAX, например:

<Ajax.AjaxMethod()> _
Public Function GetNewRows() As String
    ''//do stuff
    Return jsonObj
End Function

Затем на стороне клиента вы можете назвать это так:

ThisPageClass.GetNewRows(someCallbackFunction);

function someCallbackFunction(result) {
    var json = ParseJSON(result.value);
    for(var i=0; i<json.length; i++) {
        // do whatever
    }
}

Вы просто должны закрыть отверстия!

0 голосов
/ 13 февраля 2009

Я обнаружил, что элемент управления Repeater не имеет DOM, который можно использовать для выполнения операций на стороне клиента, таких как добавление строк и прочего, единственный простой выход (из-за некоторых ограничений), который у меня был, - это использовать Вместо этого GridView, а затем использовать его DOM, и это то, что я наконец-то сделал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...