2010-07-12 6 views
0

이것은 내 응용 프로그램 설치입니다.상속 페이지에서 동일한 이벤트에 대해 서로 다른 이벤트 처리기를 사용하여 단일 UserControl을 기본 폼에 추가하는 방법은 무엇입니까?

내 응용 프로그램에 내 .ascx 파일에 간단한 ASP 버튼이 포함되어있는 UserControls 폴더가 있습니다. ascx의 코드 숨김에 코드를 추가하지 않았습니다.

나는 System.Web.UI.Page

이제
public class BaseForm : System.Web.UI.Page { 
    protected override void OnInit(EventArgs e) 
    { 
     UserControls.UserButton1 ObjUserControls=(UserControls.UserButton1)LoadControl("~/UserControls/UserButton1.ascx"); 
     ObjUserControls.ID = "UserControl1"; 
     this.Form.Controls.Add(ObjUserControls); 
     base.OnInit(e); 
    } 
} 

내가 같은 ASPX 페이지 낳게 될 것이다 상속되는 BaseForm.cs (단지 C# 클래스 파일 아닌 영문 파일)이 : ChildPage1.aspx 및 ChildPage2.aspx는 System.Web.UI.Page가 아닌 baseform을 상속합니다 (분명히).

내가 알고 싶은 것은 UserControl에 속한 이벤트에 대해 각 ChildPage에 다른 구현을 작성하는 방법입니다. 즉, ChildPage1.aspx의 Button Click 이벤트와 ChildPage2.aspx의 Button Click 이벤트에 대한 ChildPage1ClickEventHandler를 실행하려고합니다.

어떻게해야합니까? 도와주세요.

+0

을 (당신이 그것을 처리 할 경우 하위 페이지에 사용자 컨트롤에서 처리하는 사용자 컨트롤 클릭 이벤트를 위임 할) 생각 위임을 사용하는 것입니다 페이지의 이벤트? 이 일을 피하려고 노력하고 있다는 것을 알 수없는 다른 문제가 있습니까? – TheGeekYouNeed

+0

Nopes. 이것처럼 - 우리는 기본 폼에 usercontrol을 추가합니다. 많은 페이지가 기본 폼을 상속하므로 사용자 정의 컨트롤도 상속됩니다. 이제는 usercontrol .. 버튼이 있습니다. 물론 각 페이지에서 컨트롤을 찾아서 각 페이지의 버튼에 이벤트 핸들러를 추가 할 수 있지만, 더 간단하거나 더 우아하거나 "적절한 그것을하는 방법 "보다. 상속하는 각 페이지는이 버튼에 대해 다른 기능을 원할 것입니다. 그게 응용 프로그램의 디자인. – Sandeep

답변

0

하, 또 다른 공개 질문.

언젠가 전에이 시나리오를 정확히 기억하지 못했지만 그날 내가 무엇을 찾고 있는지를 알고 있습니다.

언젠가 나중에 알아 냈으므로 이벤트 (해당 사용자 정의 컨트롤에 대한 이벤트 또는 클릭)를 노출 한 다음 하위 페이지의 이벤트 처리기를 첨부하십시오.

그 작업을 수행하는 다른 방법은 왜 클릭을 처리하고 싶어 내가

관련 문제