上传控件不就是 <input type=file id=file1 runat=server>这样的控件吗?你就在服务器端根据需要,动态产生一个这样的控件,加入到事先规划好的位置就行了。亿设事先已放置一个容器控件(TABLE, PANEL, PLACEHOLDER等),ID为 Container1. 有一个Button1 按钮。点击后要求增加一个上传控件,则:private void Button1_Click(...)
{
   HtmlInputFile newFile = new HtmlInputFile();
   newFile.ID = "file1";  //添加多个控件时,要分配不同的ID,此处未做处理
   Container1.Controls.Add( new LiteralControl("<BR>"));
   Container1.Controls.Add( newFile );
}

解决方案 »

  1.   

    public class WebForm2 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.PlaceHolder PH1;
    protected System.Web.UI.WebControls.Button Button1;
    public int i=0;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button1_Click(object sender, System.EventArgs e)
    {
    HtmlInputFile ccc=new HtmlInputFile();
    ccc.ID="upFile"+i.ToString(); 
    ccc.Attributes.Add("Runat","Server"); 
    PH1.Controls.Add( new LiteralControl("<BR>"));
    PH1.Controls.Add( ccc);
    i++;
    }
      

  2.   

    嗯,你应该这样来写:private void Button1_Click(object sender, System.EventArgs e)
           {
              i++;   //增加一个上传组件          //按需要生成所有的上传组件
              for (int x=0;x<=i;x++)
              {
                  HtmlInputFile ccc=new HtmlInputFile();
                  ccc.ID="upFile"+x.ToString(); 
                  ccc.Attributes.Add("Runat","Server"); 
                  PH1.Controls.Add( new LiteralControl("<BR>"));
                  PH1.Controls.Add( ccc);
               }
           }
      

  3.   

    非常感谢spring_ok(spring.z):
    让您费心了,原谅我刚开始学,谢谢