1
페이지의 테이블 컨트롤에 대해 동적으로 행과 셀을 생성하는 ASP.NET 코드가 있습니다.동적으로 생성 된 컨트롤에서 FindControl 사용
각 셀의 ID를 구체적으로 설정했지만 실제로 FindControl을 찾는 데 문제가 있습니다. 여기
내가 세포를 만드는 데 사용하는 코드입니다 : 그냥 그 아래tbc = New TableCell
tbr.Cells.Add(tbc)
tbc.ID = String.Format("tc_{0}-{1}-{2}", curStartDate.Day, curStartDate.Month, curStartDate.Year)
을, 나는 다음과 컨트롤을 찾아보십시오 : 나는 선을 교환 시도
Dim ctlName As String = String.Format("tc_{0}-{1}-{2}", curStartDate.Day, curStartDate.Month, curStartDate.Year)
Dim ctl As Control = tblAllocations.FindControl(ctlName)
그 셀을 TableRow의 Cells 컬렉션에 추가하는 선으로 ID를 선언하고이를 사용 가능하게 만듭니다. 하지만 내 응용 프로그램을 통해 위의 순서대로 문을 있고 그들은 잘 작동합니다 (FindControl 올바른 ID 가진 컨트롤을 찾을 수 있습니다).
실종 신고 된 것이 있습니까?
예, 확실히 추가되었습니다. 페이지의 출력에서 행과 셀을 볼 수 있습니다. 셀의 ID도 HTML로 출력됩니다. –
필자가 FindControl을 호출 할 때 행이 테이블에 추가되었다는 것을 의미합니까? tblAllocations.FindControl이 셀을 찾을 때까지 tblAllocations.Rows.Add (tbr)가 발생해야합니다. – AnthonyWJones
올바르게 추가되었습니다. 나는 문제를 좁혔다 고 생각한다. 컨트롤을 만들기 전에 DataBind 메서드를 호출하는 DropDownList가 있습니다. DataBind에 대한 호출을 제거하면 모든 것이 제대로 작동합니다. 정말 이상합니다. –