ASP.NET - Размещение директивы @ Register - PullRequest
1 голос
/ 21 декабря 2009

Раньше я всегда помещал свои директивы <% @ Register ...%> в верхнюю часть моих страниц .aspx чуть ниже директивы @ Page. Недавно я обнаружил, что могу разместить эту директиву регистра в ЛЮБОМ месте на странице .aspx, и при этом она все еще работает правильно. Нам интересно, есть ли какие-либо проблемы, которые люди могут предвидеть, разместив их прямо над первым экземпляром пользовательского элемента управления, например:

<%@ Page .. %>

<div>
<asp:TextBox ..>
...
...
<%@ Register src="~/UserControls/UserControl.ascx" ..>
<uc1:UserControl ..>
...
</div>

Если мы сделаем это таким образом, это значительно упростит копирование и вставку пользовательских элементов управления с одной страницы на другую. Есть ли недостатки этого стиля?

Ответы [ 2 ]

1 голос
/ 21 декабря 2009

Как правило, это не очень хорошая практика, поскольку на странице может быть несколько пользовательских элементов управления. Я бы продолжил делать это наверху или, если это в масштабах всего приложения, рассмотрите возможность размещения его в файле web.config:

http://weblogs.asp.net/scottgu/archive/2006/11/26/tip-trick-how-to-register-user-controls-and-custom-controls-in-web-config.aspx

0 голосов
/ 21 декабря 2009

См. Справочник MSDN по Синтаксис директивы

Выдержка:

При использовании директивы могут быть расположены в любом месте файла .aspx или .ascx, хотя стандартная практика должна включать их в начале файла. Каждая директива может содержать одну или несколько атрибуты (в сочетании со значениями), которые специфичны для этой директивы.

И полезная информация для @Register.

...