2013-05-03 2 views
0

페이지에 UpdatePanel이 있습니다. 이 UpdatePanel 안에 버튼이있는 컨트롤이 있습니다. 코드 뒤에서이 단추 (사용자 정의 컨트롤 안에 있음)에 대한 포스트 백 트리거를 수동으로 추가 할 수 있습니까?수동으로 업데이트 패널 트리거

여기

내가 알고있는 것처럼
//Page 
<UpdatePanel> 
    <uc1:UserControl /> 
</UpdatePanel> 

//UserControl 
<textbox></textbox> 
<asp:button></asp:Button> 
+0

무엇을 하시겠습니까? –

+0

이 updatepanel에 대한 포스트 백 트리거를 페이지에서 컨트롤에서 수동으로 추가하십시오. – CH81

+0

기본적으로 업데이트 패널에는 ChildrenAsTriggers가 true로 설정됩니다. 이것은 포스트 백을 발생시키는 컨트롤이 업데이트 패널 로직 (사용자 컨트롤의 것들도 포함)을 통과한다는 것을 의미합니다. 당신에게 문제를 일으키는 일이 무엇을보고 있습니까? –

답변

0

, 당신은 사용자 컨트롤을 포함하여 ASPX 페이지에 UpdatePanel의 PostbackTrigger으로 사용자 정의 컨트롤에서 버튼을 등록하고자하는 샘플 코드입니다. 이 시나리오를 복제하는 간단한 웹 응용 프로그램을 작성할 수 있었고 더 이상의 정보없이 어디로 가고 있는지 또는 어떤 오류가 발생했는지 알 수 없습니다. 예를 들어 원래 질문을 펼쳤다면 도움이 될 것입니다. 코드의 관련 스 니펫을 제공합니다.

public void RegisterPostbackTrigger(UpdatePanel updatePanel) 
    { 
     PostBackTrigger buttonTrigger = new PostBackTrigger(); 
     buttonTrigger.ControlID = TestButton.ClientID; 
     updatePanel.Triggers.Add(buttonTrigger); 
    } 

그런 다음 전화를해야 할 것이다 : 나는 사용자 정의 컨트롤 내에서

당신이 게시물로 다음 코드로 업데이트 패널의 뒷면 트리거 버튼을 등록 할 수 있습니다 ... 최선 노력하겠습니다 UpdatePanel의 참조를 인수로 전달하는 페이지 코드의 RegisterPostbackTrigger. MyControl 직접 스크립트 관리자에 액세스하고 매개 변수로 버튼 년 RegisterPostBackControl 방법 통과를 사용하는 것입니다 특정 문제와 관련이있을 수 UserControl을

MyControl.RegisterPostbackTrigger(MainUpdatePanel); 

이 일을하는 다른 방법을 말한다. 여기에 a link이 있습니다!

더 이상 정보가 없으면 더 이상 당신을 정말로 도와 줄 수 없습니다!

행운을 빈다.

+0

답변 해 주셔서 감사합니다. 실제로 전에 시도한이 오류가 있어요 - UpdatePanel 'UpdatePanelId'트리거에서 ID 'ButtonId'가있는 컨트롤을 찾을 수 없습니다. 아이디어가 있으십니까? – CH81

+0

처음 응용 프로그램을 실행하거나 단추를 클릭 할 때 오류가 발생합니까? 나는 그것이 이전의 것이라고 생각한다. PreRender 메서드에서 단추를 등록 해보십시오.이 단계는 페이지 수명주기의이 단계에서 생성 된 것입니다. '보호 공극 Page_PreRender (객체 송신자있는 EventArgs E) { 경우 { //MyControl.RegisterPostbackTrigger(MainUpdatePanel) (IsPostBack을!); } } – elcid

관련 문제