Search code examples
asp.netpage-directives

ASP.NET @Register vs. @Reference


I'm working with referencing user controls on my ASPX page and I'm wondering what the difference is between these two page directives.

@Reference @Register


Solution

  • @Register is the more commonly used directive. You use this when you want to use a user control in your aspx or ascx page declaratively. @Register associates the control with a specific prefix and you can then use it in your markup.

    @Reference only tells ASP.NET to compile the other control when your aspx or ascx page is compiled. That makes sure it is available at run-time and can be added to your control hierarchy programmatically. This is less common since dynamically changing user controls at runtime is not comon.

    Here's a good blog post about it.

    http://weblogs.asp.net/johnkatsiotis/archive/2008/08/13/the-reference-directive.aspx