2012-01-08 4 views
2

동적으로 ASP 테이블에 행을 추가하고 있습니다. 테이블의 각 행에는 SelectProduct_Click 이벤트가있는 단추도 포함됩니다.asp : 버튼 클릭 이벤트가 실행되지 않습니다.

문제는 click 이벤트를 등록하더라도 이벤트가 발생하지 않는다는 것입니다.

btnSelect = new Button(); 
btnSelect.ID = "btnSelect"; 
btnSelect.CommandArgument = od.ProductId; 
btnSelect.Click += new EventHandler(this.SelectProduct_Click); 
btnSelect.CssClass = "button"; 
btnSelect.Text = "Select"; 
cell = new TableCell(); 
cell.Controls.Add(btnSelect); 
row.Cells.Add(cell); 

가 어떻게 클릭에 화재 내 버튼을 얻을 수 있습니다 :

버튼

이 방법으로 추가되고?

답변

3

ASP.NET page lifecycle에 대해 알아야합니다.

동적 컨트롤이 포스트 백에서 이벤트를 시작하려면 다시 만들어 이벤트 처리기에 연결해야합니다.

동적 컨트롤을 만들거나 다시 만드는 가장 좋은 장소는 OnInit 이벤트 처리기입니다.

0

@Oded - 동적 컨트롤을 추가하는 데 올바른 타이밍이 맞습니다. 그러나 버튼을 추가하려고하는 이벤트에는 기록되지 않습니다.

+0

죄송합니다. 죄송합니다. 사용자가 Show List라는 특정 단추를 클릭 할 때 호출되는 메서드에 단추를 추가하고 있습니다. 사용자가 Show List 버튼을 클릭 한 후에 버튼이 생성되어야하므로 OnInit 섹션에 버튼을 만드는 메소드를 호출 할 수 있는지 확실하지 않습니다. – user1137243

+0

설명해 주셔서 감사합니다. OnInit 이벤트에서 버튼을 만들지 못했지만 숨길 수 없었습니다. 그런 다음 Show List 버튼을 클릭하면 숨겨진 버튼이 표시됩니다. :/ – Veronica

+0

도움을 주셔서 감사합니다, 나는 gridview를 사용하고 gridviews의 선택 레코드 버튼을 사용합니다 .. 내가 특정 레코드를 선택하는 버튼이 필요했습니다. – user1137243

관련 문제