The correct way to have done templating back then was to use aspx files as your template and use BuildManager.GetCompiledPageInstance, intercept the path and load/insert the controls because it didn't ...