我的asp.net页面上有表格,我想插入新的行。我尝试添加按钮新行的每个单击,其中包含带有FileUpload的单元格,但它仅适用于第一次。当我下次点击时,在我的代码后面。
<asp:Panel ID="pnlImages" runat="server" BackColor="Gray" Height="500">
<table id="tblImages" runat="server" width="100%">
<tr>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
</td>
</tr>
<tr>
<td align="right" width="100">
<asp:ImageButton ID="imbAddImage" runat="server" ImageUrl="images/plus.png"
Width="48" Height="48" OnClick="imbAddImage_Click"/>
</td>
</tr>
</table>
</asp:Panel>
这是点击按钮上的代码
protected void imbAddImage_Click(object sender, ImageClickEventArgs e)
{
System.Web.UI.HtmlControls.HtmlTable tbl = (System.Web.UI.HtmlControls.HtmlTable)this.FindControl("tblImages");
System.Web.UI.HtmlControls.HtmlTableRow row = new System.Web.UI.HtmlControls.HtmlTableRow();
System.Web.UI.HtmlControls.HtmlTableCell cell = new System.Web.UI.HtmlControls.HtmlTableCell();
FileUpload temp = new FileUpload();
cell.Controls.Add(temp);
row.Controls.Add(cell); ;
int a=tbl.Controls.Count;
tbl.Controls.AddAt(a-1, row);
}
但问题是a总是2.可以有人帮忙吗?
答案 0 :(得分:1)
说到动态控件,你需要在每个帖子上添加它们。
您单击事件处理程序仅添加最新文件,而您不会将以前的文件保存在任何位置。您应该将它们添加到ViewState并查询ViewState以检索它们。
有关ViewState的详细说明,请参阅this article。