Вопрос

У меня есть собственный элемент управления, реализующий IPostBackEventHandler.Некоторые события на стороне клиента вызывают __doPostBack(controlID, eventArgs).

Управление реализовано в двух различных пользовательских элементах управления.В одном элементе управления RaisePostBackEvent запускается на стороне сервера, когда __doPostBack вызывается.В другом элементе управления RaisePostBackEvent никогда не вызывается.Я проверил __EVENTTARGET параметр, и он соответствует ClientID элемента управления...где еще я могу найти решение этой проблемы?

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

Решение

Есть много способов, которыми это может развалиться.Добавляете ли вы элемент управления на страницу динамически в коде?Если это так, то ваш UniqueID может быть отключен много раз, даже если идентификаторы клиента одинаковы.Есть ли у вас образец кода, который может продемонстрировать, что вы делаете?

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

Дважды проверьте, что это действительно производное от класса UserControl, а не от WebControl.
Этот случай много раз меня удивлял.Если вам нужно использовать WebControl для стилизации, вам нужно разрешить вашему элементу управления реализовать INamingContainer.(Не волнуйтесь, это маркерный интерфейс)

Так..

public class MyControl : UserControl {}

Или

public class MyControl : WebControl, INamingContainer {}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top