LoadControl по сравнению с управлением ASP.NET конструкции

Это возможно, просто должностное лицо это как любая другая программа. Просто удостоверьтесь, что Ваш сценарий имеет надлежащий #! (хижина) строка как первая строка сценария, и удостоверяется, существует, выполняют полномочия на файле.

, Например, если это - сценарий удара, помещает #!/bin/bash наверху сценария, также chmod +x.

Также что касается того, если это - хорошая практика, нет это не, специально для Java, но если это сохраняет Вас много времени, портируя большой сценарий, и Вы не становитесь заплаченными дополнительными, чтобы сделать это ;) сэкономить Ваше время, должностное лицо сценарий, и поместить портирование на Java в Вашем долгосрочном списке ожидающих выполнения задач.

9
задан user85996 24 August 2009 в 04:02
поделиться

4 ответа

При динамической загрузке пользовательского элемента управления важно убедиться, что стандартный конвейер событий страницы ASP.NET инициирован и работает нормально. Когда вы используете оператор new для создания экземпляра пользовательского элемента управления, этот пользовательский элемент управления не добавляется должным образом в систему событий ASP.NET. Если события (Init, Load, PreRender и т. Д.) Не запускаются, ваш элемент управления никогда не будет работать должным образом. Вот почему необходимо использовать LoadControl, так как это гарантирует, что экземпляр вашего пользовательского элемента управления создан правильно и прикреплен к ASP.NET.

9
ответ дан 4 December 2019 в 13:48
поделиться

Насколько я помню, это относится к тому, как ASP.NET создает компоненты страницы во время выполнения. В ASP.NET, хотя у ваших страниц есть класс, который определен в вашем файле кода программной части, их типы не существуют до времени выполнения. Как и страница, хотя у вас есть определенный элемент управления, тип wucDate не создается, пока он не будет включен во время выполнения. По этой причине элемент управления должен быть загружен с помощью LoadControl, чтобы как инициализировать тип, так и правильно работать на протяжении жизненного цикла страницы.

Это в меру моей памяти, поэтому, если я ошибаюсь, сообщите мне .

0
ответ дан 4 December 2019 в 13:48
поделиться

Очевидно, использование LoadControl с typeof (или GetType) имеет ту же проблему, что и использование 'new', когда дочерние элементы управления не инициализированы. Использование LoadControl со строкой в ​​файле ASCX работает.

Не инициализирует дочерние элементы управления.

LoadControl(typeof(MyReport), null);

Работает!

LoadControl("Report.ascx");
4
ответ дан 4 December 2019 в 13:48
поделиться

Инициализация элементов управления внутри пользовательского элемента управления выполняется файлом ASCX. Использование только «new SomeControl» не приведет к запуску этой инициализации, и даже если это произойдет, весь дизайн (разметка) в файле ascx будет утерян.

Помните, что класс «wucDate» - это только базовый класс, от которого наследуется полный пользовательский контроль. Это не тот класс, который вы получите при использовании LoadControl ("wucDate.ascx").

И, честно говоря, LoadControl не имеет ничего общего с жизненным циклом страницы. Эта часть обрабатывается, когда вы добавляете элемент управления в коллекцию Controls контейнера.

2
ответ дан 4 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: