Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое добавление WebUserControl 
V
    Опции темы
Vityusha
Дата 22.11.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 7.4.2009

Репутация: нет
Всего: нет



Всем добрый день. 
Существует WebUserControl, в котором есть текстовое поле и кнопка.
Этот WebUserControl я хочу добавить динамически в PlaceHolder:
Код

protected void Page_Load(object sender, EventArgs e)
        {
            PlaceHolder1.Controls.Add(new WebUserControl1());
        }

но WebUserControl1 не отображается на странице.
Если добавить кнопку - то проблем нет:
Код

protected void Page_Load(object sender, EventArgs e)
        {
            PlaceHolder1.Controls.Add(new Button{Text="btn"});
        }


Кто подскажет в чем может быть проблема?

PM MAIL   Вверх
Fortnox
Дата 22.11.2011, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: нет
Всего: 22



В коде страницы указываете ссылка на ваш контрол:
Код

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

И потом в коде загружаем этот контрол, причем использовать надо событие страницы PreInit, (либо Init) а не Load, так как именно в этот момент идет инициализация всех контролов и страницы, более того загружать контрол необходимо при помощи метода LoadControl, так как при помощи этого метода вызываются все необходимые события контрола (инициализация, отрисовка и т.д.). Короче говоря, просто создать экземпляр - недостаточно:
Код

if(!Page.IsPostBack) 
{ 
    WebUserControl1 webUserControl = (WebUserControl1)Page.LoadControl("WebUserControl1.ascx"); // WebUserControl1.ascx - имя файла вашего контрола.
    PlaceHolder.Controls.Add(webUserControl); 
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.