2012-10-12 4 views
0

아래 코드로 SharePoint 용 시각적 웹 파트가 있지만 click-handler 코드가 실행되지 않습니다. 동적으로 컨트롤을 만드는 경우 어떤 내 코드? 잘못된 것은클릭 이벤트가 발생하지 않습니다.

protected Button btApply; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    ... some code ... 
    btApply = new Button(); 
    btApply.Text = "Apply"; 
    btApply.CssClass += "InputControl"; 
    btApply.Click += new EventHandler(btApplyClick); 
    this.Controls.Add(btApply); 
    ... some code ... 
} 

protected void btApplyClick(object sender, EventArgs e) 
{ 
    ... some code ... 
} 
+0

컨트롤의 초기화는 미리 수명 이벤트에 있어야 페이지 수명주기가 여러 가지 이벤트를 취할 수 있습니다. – JSJ

답변

1

, 당신은 Page_PreInit에에에 있습니다. MCTS Self-Paced Training Kit (Exam 70-515): Web Applications Development with Microsoft .NET Framework 4에서 인용, 106 페이지 :

당신은 (경우 또는 Page.Init 이벤트 (당신이 마스터 페이지를 사용하지 않는 경우) Page.PreInit 이벤트를 처리하여 런타임에 폼에 컨트롤을 추가 할 수 있습니다

) 페이지 (뿐만 아니라, 웹 파트, 사용자 관리 등) 라이프 사이클은 "ASP.NET Page Life Cycle Overview"기사 MSDN에 설명을 당신은 마스터 페이지를 사용하면 콘텐츠 페이지에 컨트롤을 추가합니다. 또한

는 매우 비슷한 질문을 참조 Event for Dynamically created Controls in ASP.Net

그래서, 단지 Page_PreInit으로 제어 생성 및 이벤트 배선 업을 이동하고 당신이 잘되어야합니다.

관련 문제