2008-11-20 6 views
2

В настоящее время я создаю Gridview с расширяемыми строками. Каждая строка содержит динамически созданный элемент Panel of Form. Прямо сейчас у меня есть функция javascript, которая расширяет (или, в моем случае, делает видимым) панель, когда изображение щелкает по строке Gridview.ASP.net 2.0 Gridview с расширяющимися строками панели - как создать панель «на лету»

Мой вопрос: существует ли более эффективный способ сделать это. Вместо того, чтобы вытаскивать все мои данные и создавать каждую новую строку как I Databind, есть ли способ простой создать строку с панелью с полными текстовыми полями и dropdownlists «на лету», когда пользователь нажимает кнопку «Развернуть»? »

Я хотел бы ограничить серверные вызовы, сделав это именно так, вместо того, что я сейчас делаю, прокручивая каждую строку и создавая новую панель с элементами формы и вставляя ее в скрытую строку.

ответ

0

На самом деле работал этот недавно в AJAX Handler возвращая форму структуры. Он по запросу и работает хорошо. Просто вызовите $ ajax через jQuery, верните структуру HTML, введите в DIV. Это немного ограничивает фактическую функциональность, поэтому будьте осторожны.

0

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

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

В противном случае я бы предположил, что ваш путь не слишком медленный, как есть.

1

На самом деле, это не так плохо, поскольку исходный SQL-запрос может заполнять каждую строку, и я включил пейджинг в Gridview. Мне просто интересно, можно ли их построить на лету, используя PageMethods или какое-то решение JSON/AJAX. Я ничего не видел, но ... стоит попробовать его найти.