доступ к данным из динамически добавляемого пользовательского элемента управления

StackOverflow https://stackoverflow.com/questions/2151625

Вопрос

Я пишу систему генерации опросов в asp.net.я задал более простой вопрос о наилучшем способе создания элементов управления, которые можно передавать примерно как переменные.Это было проблематично с пользовательскими элементами управления, поэтому мне посоветовали использовать пользовательские элементы управления, и быстрым способом сделать это было наследовать от элемента управления panel и просто добавить кучу стандартных элементов управления в коллекцию элементов управления, переопределив метод CreateChildControls .Таким образом, я мог бы создать свои элементы управления "опрос", которые в основном представляют собой вопросы в опросе.Затем элементы управления вопросом динамически добавляются на страницу.Все это работает хорошо, но знайте, что я пришел к тому, что хочу попытаться извлечь значения из этих элементов управления, и я, кажется, потерялся в нижнем мире состояний просмотра и жизненных циклов страницы.Я могу гарантировать, что динамически добавляемые текстовые поля имеют известный идентификатор, однако, даже если я добавлю родительский элемент управления в обработчик инициализации страницы, метод CreateChildControls не запустится до тех пор, пока не будет загружено viewstate.Я не могу понять, как восстановить значения из этих текстовых полей.

Это было полезно?

Решение

Вы можете вызвать метод EnsureChildControls в обработчике инициализации вашего элемента управления, чтобы убедиться, что CreateChildControls вызывается до загрузки ViewState.

Другие советы

Похоже, вы определенно делаете это трудным путем.Значения текстового поля не сохраняются в Viewstate, они публикуются в запросе.

Почему вы здесь не используете UserControl?Значит, вы можете "передать" это куда-нибудь?что именно ты пытаешься сделать?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top