我正在尝试在按钮点击事件上动态创建asp:UploadFile
控件。创建第一个控件后,它不会创建第二个或第三个控件。以下是我的代码。
protected void AddFileInputControl_Click(object sender, EventArgs e)
{
FileUpload image = new FileUpload();
image.ID = "image";
fileinputs_div.Controls.Add(image);
}
非常感谢任何帮助。
答案 0 :(得分:0)
尝试为每个image
提供唯一ID,例如使用全局计数器:
private int counter;
protected void AddFileInputControl_Click(object sender, EventArgs e)
{
FileUpload image = new FileUpload();
image.ID = "image" + counter++;
fileinputs_div.Controls.Add(image);
}
答案 1 :(得分: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++;
}