2014-02-08 62 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

嘗試使用全球反給唯一的ID爲每個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++; 
}