У меня есть usercontrol, который предоставляет кнопки голосования (для модели голосования типа SO) - он содержит частный член int, который сохраняет идентификатор записи. Вне ретранслятора он функционирует нормально - работает с обратной почтой, а правильный идентификатор сохраняется в пользовательском элементе управления.Элементы управления пользователя в репитере
Внутри ретранслятора обработчик события itemdatabound связывает правильный идентификатор с usercontrol, и он работает правильно - отображает правильный подсчет голосов из базы данных. Однако, когда нажата одна из кнопок голосования, она запускает обратную передачу в usercontrol, и элемент управления потерял содержимое своего частного члена, так что он больше не функционирует.
Я попытался как повторно привязать usercontrol к обратной передаче, так и привязать его только к начальной загрузке - проблема одинакова в обоих направлениях.
Как заставить usercontrol сохранить значение этого int через обратную передачу?
Да, я думаю, вы правильно определили причину и решение. – Cerebrus
Спасибо! Это сделал трюк. Любое понимание того, почему мне нужно сделать это для контроля в ретрансляторе, но тот же самый контроль работает правильно за его пределами? – azollman
Отдельные переменные-члены в элементах управления не сериализуются как часть состояния представления и, таким образом, не восстанавливаются после обратной передачи. Вышеприведенное решение является правильным, если вы хотите сохранить приватный var в представлении. Другой вариант - использовать скрытое текстовое поле, после чего оно будет автоматически восстановлено. – DancesWithBamboo