2011-10-24 2 views

답변

3

을 사용하여 컨트롤을 찾는 더 나은 방법을 사용할 수있다 다시 게시 (내가 가정 한 것)을 그것을 다시 만들어야합니다. if(!PostBack) 절에서이 CheckBox를 만들려고합니다 (다시 게시하면 다시 게시됩니다.) :

protected void Page_Load(object sender, EventArgs e) 
{ 
    CheckBox FieldCh = new CheckBox(); 
    FieldCh.ID = "Field_" + Field.Id; 
    Panel1.Controls.Add(FieldCh); 
    if (!IsPostBack) 
    { 
     // ....   
    } 
} 
+0

정답입니다. HTTP는 상태 비 저장이므로 모든 포스트 백에서 컨트롤을 다시 만들거나 ViewState에 저장하지 않으면 컨트롤이 존재하지 않기 때문에 초기 Page_Load 이후에 컨트롤에 액세스 할 수 없습니다! –

1

컨트롤을 동적으로 추가해야하는 경우에도 Page_Load을 사용해야합니다.

protected void page_load() 
{ 
CheckBox FieldCh = new CheckBox(); 
FieldCh.ID = "Field_" + Field.Id; 
Panel1.Controls.Add(FieldCh); 
} 
0

당신은 단순히 당신이 후이 확인란을 찾으려면

그냥이

CheckBox chkBox = this.form1.FindControl("YourControlId") as CheckBox; 
관련 문제