ICK!! You're the unfortunate victim of someone else's VERY bad page design.
In proper page construction you should hardly ever need to use the <% %> syntax of classis ASP.
The "@ Register" directives are OK and won't make the page slower. But you could remove them because my suggestion will not need them.
What you need to change is you need to remove all the instances of the controls from the markup. Then in the page's code-behind, use the same logic and dynamically load the appropriate control using the Page.LoadControl() method. Then only the page load method for the actual control you load will run. You could put an asp:placeholder control on the page in place of all the control markup.
Here's an example (It might not be perfect, coming from memory):
plcSubPage.Controls.Add(Me.LoadControl("includes/UserAddress_delete.ascx"))
This would add just the UserAddress_delete user control to the page.
-
Peter