Я просто хотел добавить свои 2 цента здесь, используя ответ @ roman-m и расширив его,
Я смог сделать это в самом вложенном элементе управления так:
//fires first in the sequence, calling initialise components
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
//this binds a handler to the parent's init event
this.Parent.Init += new EventHandler(this.Parent_Init);
}
//the handler gets called, at this point we can cast the parent as a module base
//and load the configuration and resource file into the nested control
private void Parent_Init(object sender, System.EventArgs e)
{
this.ModuleConfiguration = ((ModuleBase)this.Parent).ModuleConfiguration;
this.LocalResourceFile = ((ModuleBase)this.Parent).LocalResourceFile;
}
Это означает, что в событии Page_Load
вложенного элемента управления у него уже будет файл конфигурации и файл локальных ресурсов.
Это также означает, что вам не нужно загружать конфигурацию и файл локальных ресурсов в каждый родительский элемент управления, который использует дочерний элемент управления.
Это будет работать, только если родительский объект имеет тип ModuleBase, конечно
И, если быть более точным, это работает в версии 7.00.06