c # asp.net, добавить пользовательский элемент управления - PullRequest
0 голосов
/ 31 июля 2010

Я создал usercontrol в веб-формах asp.net (c #) под названием «Article», который содержит общий макет статьи и имеет открытое свойство под названием datasource.источник данных будет заполнен дозвуковой (DAL) активной записью.В событии pre-render элементов управления он будет читать запись и заполнять метки.Я думаю, что это гибкое решение с простым обслуживанием.

Однако моя проблема заключается в том, что при попытке добавить элемент управления к заполнителю все мои элементы управления, такие как метки, литералы и т. П., Получают исключение нулевой ссылки.

Я пытаюсь создать элементы управления следующим образом:

        foreach (DAL.Article item in coll)
        {
            p7.Controls.General.Article.Article article = new p7.Controls.General.Article.Article();
            article.datasource = item;
            phContent.Controls.Add(article);
        }

Есть ли что-то, что я полностью пропустил?Это сводит меня с ума хехех!Другой вопрос, знаете ли вы, ребята, если этот метод окажет большое влияние на производительность.Я добавляю только 10 из этих элементов управления статьи на страницу.

Спасибо за ваше время!

С уважением, Марк

1 Ответ

0 голосов
/ 31 июля 2010

Вы не создаете экземпляр пользовательского элемента управления.Вам необходимо использовать метод LoadControl .

Вот так:

ArticleUserControl myControl = (ArticleUserControl)LoadControl("~/PathToUc/MyControl.ascx");
myControl.datasource = item;
phControl.Controls.Add(myControl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...