У меня есть страница asp.net с панелью задач сбоку. Нажатие на задачу открывает пользовательский элемент управления для этой задачи с некоторыми элементами управления и кнопкой закрытия.
Как запустить код C #, когда пользовательский элемент управления скрыт, нажав кнопку закрытия?
Большая часть элементов управления окружена панелью обновлений, и сейчас я просто скажу, что у меня есть , чтобы использовать ее. В любом случае, я бы просто использовал событие page_unload, но оно вызывается во многих других случаях, кроме одного, в котором я хочу, чтобы оно вызывалось (окно закрывается) частично из-за панели обновления.
Кнопка закрытия - это не то, что я реализовал, это просто часть инфраструктуры, используемой для этих элементов управления, поэтому за ней нет кода.
Все, чего я действительно хочу добиться, - это запускать некоторый код C # только при закрытом элементе управления, который фактически скрывает его. Есть ли что-то аналогичное Page_Closing / Hiding? Я не могу найти это, если есть.
Есть ли способ достичь этого?
РЕДАКТИРОВАТЬ: Я должен отметить, что я нашел событие OnHide для элемента управления, но код для этой логики действительно должен быть в элементах управления, а не на страницах. Главным образом потому, что должно происходить, когда элемент управления скрыт, задайте некоторый текст в элементе управления, чтобы при последующей его загрузке он отображал правильную информацию.
РЕДАКТИРОВАТЬ: Спасибо за все идеи. Я до сих пор не могу решить проблему, что предложил teedyay ...
«Если вы не хотите обрабатывать этот код на странице, создайте свою собственную версию элемента управления, унаследованную от оригинала. Вы можете обрабатывать событие OnHide там более автономно».
Вероятно, ближе всего к тому, что мне нужно. Мне интересно, возможно ли вообще передавать события от родителя к пользовательским элементам управления? По логике в голове кажется, что это было бы невозможно, и я не нашел никакой информации об этом, но подумал, что спрошу.
Обновление:
Я думаю, что шаг назад и более ясное изложение того, чего я хочу достичь, может прояснить ситуацию.
У меня есть пользовательский элемент управления, который представляет собой плавающую панель, которая находится над моей главной страницей. Он наследуется от элемента управления, для которого у меня нет кода. Этот элемент управления генерирует URL-адреса (по запросу пользователя) и отображает их в элементе управления, а также отображает историю последних 3 сгенерированных URL-адресов.
Когда страница распознает инициируемое событие OnHide элементов управления, мне нужен код в пользовательском элементе управления, чтобы отключить некоторые кнопки и сохранить URL-адрес в очереди истории. Как я могу получить свой пользовательский элемент управления, чтобы узнать, когда родитель слышит событие OnHide?
Кроме того, я думаю об этом неправильно, если так, есть ли более разумный способ сделать это?