У меня есть пользовательский элемент управления, в котором есть элемент управления RadioButtonList. При выборе одной из переключателей элемент управления выполняет обратную передачу, чтобы выполнить некоторую работу на стороне сервера, и страница перезагружается с выбранной правильной кнопкой. Это нормально работает на моей тестовой странице.
Теперь я переместил элемент управления на страницу на сайте, на котором он будет жить, и когда выбрана радиокнопка, происходит обратная передача, но при перезагрузке страницы радиокнопка больше не выбирается. Похоже, что выбор больше не сохраняется в viewstate.
Любые указания относительно того, на какие аспекты новой страницы я должен смотреть, будут приняты с благодарностью.
Приветствия
Адендум - немного больше информации
Спасибо за совет, Стивен
Элемент управления изначально разрабатывался как пользовательский веб-элемент управления, использующий конструктор, очень простую реализацию, обработчики на стороне сервера для загрузки и при изменении выбора радиокнопок. Отдельная dll для кода позади и ascx. Затем я преобразовал его в пользовательский элемент управления, чтобы вытянуть ascx в dll с скомпилированным кодом позади.
Я не создаю динамически элемент управления на тестовой странице, для этого есть тег и <% @ Register ... бла-бла> вверху в aspx. Список радиообращений был перетащен в ascx с помощью дизайнера, поэтому я не реализовал код для его создания. Так что все очень ванильно.
Я действительно ищу различия, на которые мне следует обратить внимание на страницах, использующих элемент управления, чтобы понять, почему он работает на тестовой странице, а не на странице сайта, в которой он должен находиться.
*********** Дополнение ***********
У меня было мало времени, чтобы решить эту проблему, и мне пришлось передать ее другому разработчику. Когда я узнаю от него, каково было решение, я отправлю это здесь.
Большое спасибо всем за их вклад.
*********** Ответ *************
Вот ответ от разработчика, который вступил во владение.
Ваш элемент управления тестом был в порядке, причина, по которой значения не сохранялись при обратной передаче, была из-за унаследованной функциональности в базовом классе при запуске. По сути, он сделал DataBind в методе загрузки страницы, который в жизненном цикле страницы находится до вызова методов обратной передачи, поэтому он сбрасывал значения раскрывающихся списков. В конце я установил некоторые свойства viewstate, которые содержали значения выпадающих. Так что это было не то, о чем ты мог знать.