Я нашел эту чрезвычайно полезную статью о создании экземпляров пользовательских контролей ASP.NET в обработчиках .ASHX с помощью Скотта Гатри .
К сожалению, теперь у меня есть требование, когда мне нужно создать экземпляр UserControl, который зависит от родительской страницы. В этом случае я не могу использовать тот же метод для создания UserControl.
Кто-нибудь может подсказать, как мне поступить? Что входит в создание экземпляра родительской страницы и последующее получение содержимого UserControl, который он содержит?
Просто для справки и, в частности, для определения типа зависимости, с которой я имею дело, UserControl - это панель, которая существует на главной странице Factsheet. В зависимости от предпочтений конфигурации пользователя различные элементы управления динамически генерируются в базовом классе Factsheet FactsheetBuilderPage и включаются на страницу.
UserControl имеет свойства, такие как:
public DateTime EffectiveDate
{
get
{
return ((FactsheetBuilderPage)this.Page).EffectiveDate;
}
}
public Site ConfiguredSite
{
get { return ((FactsheetBuilderPage)this.Page).SiteConfiguration; }
}
public ConfiguredFund Fund
{
get
{
return ((FactsheetBuilderPage)this.Page).Fund;
}
}
, которые ссылаются на класс FactsheetBuilderPage, что означает, что мне нужно создать класс FactsheetBuilderPage для ссылки на него.
В идеале я мог бы решить эту проблему без необходимости изменять существующую кодовую базу, потому что рефакторинг это будет настоящей болью !!
Спасибо, ребята
Dave