У меня просто была такая же проблема.Я решил, что нужно создать базовый класс с методом, который я буду использовать в пользовательском элементе управления, чтобы делать то, что ему нужно.
(Правка: я забыл упомянуть, что мой базовый класс также помеченаннотация)
В базовом классе определите:
public abstract void DoSomethingSpecial();
Базовый класс вызывает это в своем собственном конструкторе:
public MyBaseClass()
{
DoSomethingSpecial();
}
Затем в пользовательском контроле я наследую базуclass в директивах страницы:
<%@ Control Language="C#" AutoEventWireup="true" Inherits="MyAppNamespace.myBaseClass" ... %>
Последний шаг - фактически реализовать новый метод в usercontrol:
public override void DoSomethingSpecial()
Это было мое решение.