C# • Talk to the Export Provider Manager.

Listing 2. You need to make only a couple of significant changes to tie your base page to the export process, such as providing the members you want to add and the exports you want to perform, as well as adding an empty virtual method and calling the export provider manager.

ExportProviderManager mgrExports = new 
   ExportProviderManager();
ExportProviderDefinition mCurrentExport = null;

public virtual void RegisterExportProviders()
{
}

public BasePage()
{
RegisterExportProviders();
}

protected override void OnInit(EventArgs e)
{
mCurrentExport = 
   mgrExports.GetSelectedExportProvider(Request);

base.OnInit (e);
}

protected override void 
   Render(System.Web.UI.HtmlTextWriter writer)
{
HtmlTextWriter innerWriter = 
   mgrExports.InitializeResponse(
   this, writer, mCurrentExport);

innerWriter.Write(TemplateTop());

base.Render (innerWriter);

innerWriter.Write(TemplateBottom());
innerWriter.Flush();

mgrExports.CompleteResponse(this, writer, 
   mCurrentExport);
}