2011-01-30 5 views

ответ

17

@Register является более широко используется директива. Вы используете это, когда хотите использовать пользовательский элемент управления на странице aspx или ascx декларативно. @Register связывает элемент управления с определенным префиксом, и вы можете использовать его в своей разметке.

@Reference сообщает ASP.NET о компиляции другого элемента управления, когда скомпилирована ваша страница aspx или ascx. Это гарантирует, что он доступен во время выполнения и может быть добавлен в вашу управляющую иерархию программно. Это реже, поскольку динамически изменяющиеся пользовательские элементы управления во время выполнения не являются comon.

Вот хорошее сообщение в блоге об этом.

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

20

@Register в основном используется для регистрации тег префиксы в декларативно контроля за использованием в пределах страницы.

<%@ Register tagprefix="my" namespace="MyNamespace" %> 

<my:CustomControl runat=server /> 

@Reference в основном используется для ссылки на страницы или пользовательского контроля (по имени файла или виртуального пути), чтобы программно ссылаться на членов страницы или элемента управления.

<%@ Reference Control="MyControl.ascx" %> 

<% MyControl ctrl = (MyControl) Page.LoadControl("MyControl.ascx"); 
    ctrl.CustomProperty = "..."; //REFERENCE directive is needed to access property 
%> 
Смежные вопросы