У меня есть веб-страница, содержащая панель и кнопку.Когда вы нажимаете кнопку, я хочу добавить новый экземпляр UserControl на панель.
Метод panel.Controls.Add указывает, что он добавляет элемент в коллекцию.
Iможно сделать это с помощью локальной переменной для хранения количества экземпляров элемента управления.Затем, когда он добавляется, он многократно повторяет цикл, создавая новые элементы управления.
private void AddUCToUI(int counter)
{
for (int i = 0; i < counter; i++)
{
MyControl ctrlMyControl = (MyControl)LoadControl("MyControl.ascx");
ctrlMyControl.SetID(i);
myPanel.Controls.Add(ctrlMyControl);
}
}
НО, я не хочу каждый раз воссоздавать все элементы управления, поскольку пользователь, возможно, уже ввел в них данные...
Итак, все, что я хочу сделать, - это создать еще один элемент управления и добавить его в коллекцию, в которой уже содержится первый элемент.
private void AddUCToUI(int counter)
{
MyControl ctrlMyControl = (MyControl)LoadControl("MyControl.ascx");
ctrlMyControl.SetID(counter);
myPanel.Controls.Add(ctrlMyControl);
}
Это должно создать новый элемент управления, дать емуидентификатор, а затем добавить его в коллекцию.Однако кажется, что он добавляет элемент управления в первую очередь, а затем перезаписывает этот элемент управления в коллекции, когда я пытаюсь добавить другой.Почему это?