Динамически загружать объект c # - PullRequest
0 голосов
/ 03 января 2012

У меня есть проект asp.net, и на моей странице дизайна у меня есть asp:Label объекты с именами, такими как aLabel0, aLabel1, aLabel2 ... aLabel9. Если я не хочу создавать их динамически со своей страницы aspx.cs и добавлять их в контейнер, такой как asp:Panel, есть ли способ динамически загрузить их со страницы aspx на страницу aspx.cs?

Примерно так:

for(int i = 0; i < 10; i++)
{
    Label tempLabel = LoadDynamically("aLabel" + i.ToString());
}

Ответы [ 3 ]

0 голосов
/ 03 января 2012

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

0 голосов
/ 03 января 2012

Если вы спрашиваете, как динамически создавать элементы управления, вы можете сделать что-то вроде этого:

Label lb = new Label();
lb.ID = "aLabel0";
lb.Text = "I'm label #0";
Page.Controls.Add(lb);

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

0 голосов
/ 03 января 2012

Вы можете использовать Control.FindControl

var label = panel.FindControl( "aLabel" + i.ToString() ) as Label;
...