2011-11-23 3 views
0

내가 a를 ItemDataBound에 대한 방법을 등록 할 -이 같은 이벤트 : 이것처럼Repeater.ItemDataBound - 이벤트가 아무 것도 트리거하지 않는 이유는 무엇입니까?

protected void Page_Init(object sender, System.EventArgs e) 
{ 
    MyRepeater.ItemDataBound += MyRepeater_ItemDataBound; 
    // ... 
} 

protected void MyRepeater_ItemDataBound(object sender, 
    System.Web.UI.WebControls.RepeaterItemEventArgs e) 
{ 
    // ... 
} 

, 아무것도가 트리거되지를, 방법은 실행되지 않습니다. 나는이 작업을 수행하는 코드 - 이전

<asp:Repeater ID="MyRepeater" runat="server" 
    OnItemDataBound="MyRepeater_ItemDataBound"> 

처럼의 방법을 등록 할 때. 왜 이전 버전이 작동하지 않습니까? 어떤 계약 및 프로모션 추천 자료 비즈니스 디렉토리 리뷰에 대한

들으 당신은 영문 파일의 페이지 헤더에 AutoEventWireup=true 누락 될 수 있습니다

+1

page_Init이 실제로 호출 되었습니까? AutoEventWireUp이 true로 설정되어 있습니까? – idm

+0

예,'Page_Init'이 호출되었습니다. AutoEventWireUp이 필요한 이유를 알지 못합니다. 'BtnSave.Click + = BtnSave_Click;과 같은 다른 이벤트 (Page_Init에도 등록됨)는 이상하게 작동하지만 ... – sl3dg3

답변

1

sl3dg3.

편집 : 버튼 핸들러가 작업을 할 경우, 아마도 그것은 databinging에 문제가 - 당신은 당신이 MyRepeaterDataBind 또는 그 중 하나가 부모 컨트롤을의를 호출하고 있는지입니까? DataBind을 수동으로 호출하는 경우 페이지의 Page.IsPostBack에 종속 되나요?

+0

True - false로 설정됩니다. 그러나 나는 분명히 왜 내가 이것을 필요로하는지 이해하지 못한다. 왜냐하면 내가 명시 적으로 사건에 대한 함수를 등록했기 때문이다. – sl3dg3

+0

p.s .: 버튼에 대해서도 똑같이 작동합니다 :'BtnSave.Click + = BtnSave_Click; ' – sl3dg3

+0

Page_Init을 호출하려면이 것이 필요합니다. Page.Init + = Page_Init을 명시 적으로 설정하지 않고 OnInit을 재정의하지 않습니까? – idm

0

AutoEventWireUptrue으로 설정되어 있는지 확인하십시오. AutoEventWireUp이 거짓이면 Page_Init 메서드가 실행되지 않으므로 처리기를 ItemDataBound 이벤트에 연결하는 코드는 실행되지 않습니다.

+0

'Page_Init'이 호출되었습니다 ... – sl3dg3

관련 문제