2010-11-21 4 views
0

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); 
} 

을 클릭합니다하지만 문제는 아무도 2. 도와 드릴까요 항상이다?

답변

1

동적 컨트롤은 모든 게시물에 추가해야합니다.

이벤트 핸들러를 클릭하면 최신 파일 만 추가되며 이전 파일은 저장하지 않습니다. ViewState에 추가하고 ViewState를 검색하여 검색해야합니다.

this article 참조 ViewState에 대한 자세한 설명은

관련 문제