2014-02-08 3 views
0
.

Я пытаюсь создать элемент управления asp:UploadFile динамически при событии нажатия кнопки. После создания первого элемента управления он не будет создавать второй или третий. Ниже мой код.Невозможно создать несколько элементов управления на кнопке. Нажмите событие

protected void AddFileInputControl_Click(object sender, EventArgs e) 
{ 
    FileUpload image = new FileUpload(); 
    image.ID = "image"; 
    fileinputs_div.Controls.Add(image); 
} 

Любая помощь будет принята с благодарностью.

ответ

0

Попробуйте дать уникальный идентификатор для каждого image, например, с помощью глобального счетчика:

private int counter; 
protected void AddFileInputControl_Click(object sender, EventArgs e) 
{ 
    FileUpload image = new FileUpload(); 
    image.ID = "image" + counter++; 
    fileinputs_div.Controls.Add(image); 
} 
+0

Я попытался, но все еще генерировал только один элемент управления. – jorame

0

Asp.net не сохраняет динамически созданного управления для последующих вызовов. Это означает, что вам нужно будет создать их каждый PostBack. Что-то вроде этого:

private int _counter = 0 

protected void AddFileInputControl_Click(object sender, EventArgs e) 
{ 
    for (int i = 0; i < _counter; i++) 
    { 
     fileinputs_div.Controls.Add(new FileUpload() 
     { 
      ID = string.Format("image #{0}", i); 
     });  
    } 

    _counter++; 
} 
Смежные вопросы