У меня есть следующая страница
public partial class GenericOfflineCommentary : OfflineFactsheetBase
{
}
, где OfflineFactsheetBase
определяется как
public class OfflineFactsheetBase : System.Web.UI.Page
{
public OfflineFactsheetBase()
{
this.Load += new EventHandler(this.Page_Load);
this.PreInit += new EventHandler(this.Page_PreInit);
}
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.QueryString["data"] != null)
{
this.PageData = StringCompressor.DecompressString(Request.QueryString["data"]);
this.ExtractPageData();
}
}
}
OfflineFactsheetBase
имеет следующий virtual
метод:
public virtual void ExtractPageData()
{
// get stuff relevant to all pages that impmement OfflineFactsheetBase
}
, который реализован на всех страницах, которые реализуют OfflineFactsheetBase, следующим образом:
public partial class GenericOfflineCommentary : OfflineFactsheetBase
{
public override void ExtractPageData()
{
// get stuff relevant to an OfflineCommentary page.
}
}
В настоящее время запускается только GenericOfflineCommentary
ExtractPageData (). Как я могу изменить это, чтобы сначала запустить OfflineFactsheetBase
ExtractPageData (), а затем GenericOfflineCommentary
?
edit: Я пытаюсь избежать необходимости вызывать base.ExtractPageData()
в каждом разработчике. Это возможно?