Регистрация .ascx ASP.NET Пользовательский элемент управления на странице ASP.NET или главной странице будет загружать его или нет? - PullRequest
5 голосов
/ 30 января 2012

Если я зарегистрирую пользовательский элемент управления на странице ASP.NET, элемент управления будет загружен на страницу или нет?<%@ Register Src=".." TagName="tag" TagPrefix="pre" %>даже если я не называю это на странице, используя?<pre:tag id='control123' />поскольку часть моего кода выполняется, даже если я не вызываю элемент управления, я обнаружил это, когда выполнял профилирование производительности.

Ответы [ 2 ]

7 голосов
/ 02 февраля 2012

В этом случае ваш пользовательский элемент управления будет загружен в объект страницы на стороне сервера, это означает, что он будет обрабатываться в течение всего жизненного цикла приложения ASP.NET, но поскольку вы не создаете экземпляр элемента управления, будет отображаться не выходной HTML , Вы используете «тип», но не «экземпляр».

Отвечая на ваш вопрос: да, он будет загружен, но не обработан, не связан с данными и т. Д. *

Отредактировано 2/7/2012

Если вы хотите избавиться от директивы о регистрации, вы всегда можете использовать web.config - следуйте инструкциям this Scottgu post.

1 голос
/ 02 февраля 2012

Регистр директива только там, чтобы создать связь между префиксом и элементом управления.Это имеет значение только при декларативной загрузке элементов управления.Это только для того, чтобы упростить разработку.

нет способа, чтобы Page_Load или любые частные методы могли быть вызваны, если вы не объявили где-нибудь экземпляр вашего элемента управления.используется где-либо в коде, у вас не должно быть директивы Register.IMO Я не думаю, что директива Register вызывает эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...