2010-03-07 2 views
1

Я работаю над созданием настраиваемого элемента управления для выбора элементов из предопределенного списка. Это достигается с помощью двух элементов управления ListBox ASP.NET с несколькими кнопками, которые запускают перемещение ListItems из одного ListBox в другое (позволяет вызывать эти ListBoxes lstSelected и lstDeselected).Обнаружение изменений на стороне DOM на стороне клиента в ASP.NET: возможно ли это?

Это достаточно легко сделать в ASP.NET или JavaScript самостоятельно: у меня есть обе работы. Однако, если изменения сделаны с помощью JavaScript, ASP.NET не знает об этом. Есть ли способ зарегистрировать создание опций в теге select без AJAX?

ответ

0

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

0

У вас может быть пара скрытых полей, скажем hdnHasSelectedChanged и hdnHasDeselectedChanged, и установите эти поля в своем javascript-коде. Затем, когда действительно происходит обратная передача, ваш код-код может читать эти скрытые поля, чтобы определить, произошли ли изменения.

+0

Я пробовал имитировать это, просто отправляя назад и предполагая, что изменения были сделаны, но он не был успешным. Я думаю, что изменение существующих элементов, а не создание новых элементов, станет ключом к распознаванию ASP.NET. Один из подходов, который я рассматриваю, заключается в том, чтобы рассматривать элемент управления как специально созданный CheckboxList, причем каждый ListBox полностью заполнен всеми параметрами и скрывает выбранные элементы в ListBox для выбранных элементов и скрывает выбранные элементы в ListBox для выбранных элементов. – 2010-03-08 23:17:05