就是由用户输入需要<input type=file runat=server/>的个数,实现指定个数的多文件上传的问题,还要对各个控件命名为不同的ID,以便在服务器函数上实现对上传文件属性的操作。
自己曾写如下代码,但服务器端找不到good2这个控件,请问有什么方法可以实现功能吗?
<script language="c#" runat="server">
int i=3;
public void aaa(object src,EventArgs e)
{i=Convert.ToInt32(t1.Text);
}
public void aa(object src,EventArgs e)
{while (i>0)
  {string str;
  string id;
  id=i.ToString();
  str="<input type=text value=good runat=server "+"id=good"+id+" />";
  Response.Write(str);
  i=i-1;
  }
 l1.Text=good2.Value.ToString();
}
</script>
<body>
<form runat="server" method="post">
<asp:label ID="l1" runat="server"/>
<asp:textbox ID="t1" runat="server" Width="23"/>
<asp:button Text="aaa" runat="server" OnClick="aaa"/>
<asp:button Text="aa" runat="server" OnClick="aa"/>
  </form>

解决方案 »

  1.   

    用page的controls的add方法,添加控件上去
      

  2.   

    1,在前台添加一个PlaceHolder控件
    2,在后台写上如下代码:
    Dim DDL As New DropDownList
    PlaceHolder1.Controls.Clear()PlaceHolder1.Controls.Add(DDL)如此类推
      

  3.   

    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <P>
    <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder></P>
    <P>添加
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>个上传控件</P>
    <P>
    <asp:Button id="Button1" runat="server" Text="Button"></asp:Button></P>
    </FONT>
    </form>
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        Dim f As HtmlInputFile
            Dim l As Literal
            Dim i As Integer
            For i = 0 To System.Convert.ToInt16(TextBox1.Text) - 1            f = New HtmlInputFile
                f.ID = "inputfile" & i
                PlaceHolder1.Controls.Add(f)            l = New Literal
                l.Text = "<br>"
                PlaceHolder1.Controls.Add(l)        Next
        End Sub