2012-06-04 4 views
8

asp : repeater 항목 템플리트 내에 드롭 다운 목록이 있습니다. 버튼 클릭 이벤트에서 어떻게 값을 얻을 수 있습니까?단추 찾기 이벤트에서 asp : repeater에서 제어 찾기

위의 코드는 처음에는 작동하지만 포스트 백 이후에는 항상 ddlWorkflowMembers는 null입니다.

+0

가 있습니까 다시 게시 한 후'WorkflowListAfter.DataBind()'를 수행 하시겠습니까? –

+0

no. 그냥 WorkflowListAfterItemCreated() {...} – mhesabi

답변

20

BtnSave 또한 중계기 내에 있다고 가정합니다.

버튼 NamingContainer을 전송하여 RepeaterItem이 표시됩니다. 그런 다음 당신은 당신의 DropDownList에 대한 참조 얻을 FindControl를 사용할 수 있습니다 버튼 중계기의 외부에있는 경우

protected void BtnSaveClick(object sender, EventArgs e) { 
    var btn = (Button)sender; 
    var item = (RepeaterItem)btn.NamingContainer; 
    var ddl = (DropDownList) item.FindControl("ddlWorkflowMembers"); 
    // ... 
} 

을하고 모든 항목을 저장하려면, 당신은 모든을 통해 루프를 수행해야합니다

protected void BtnSaveClick(object sender, EventArgs e) { 
    foreach(RepeaterItem item in WorkflowListAfter.Items) 
    { 
     var ddl = (DropDownList) item.FindControl("ddlWorkflowMembers"); 
     // ... 
    }  
}