2009-11-05 9 views
0

의도적으로 서로에 대해 알지 못하는 2 개의 웹 컨트롤이있는 페이지가 있습니다. 각 컨트롤에는 자체 헬퍼 클래스가있어 이벤트 등을 처리합니다. 컨트롤 중 하나 (EditBox)에만 "저장"버튼이 있으며 저장하면 페이지의 다른 컨트롤 (MceEditorAlpha)에서 데이터를 가져와야합니다. 어떻게해야합니까? MceEditorAlpha 컨트롤에는 SaveMessage() 컨트롤이 있으며 EditBox 컨트롤에서 데이터를 검색하여 도우미 클래스 개체에 저장합니다. 그러나 도우미 클래스에서 SaveMessage()을 호출하는 방법을 모르겠습니다.C# 클래스 포함 메서드 호출

여기에 에는에 저장 버튼이없는 컨트롤이 있습니다.

public partial class MceEditorAlpha : System.Web.UI.UserControl 
    { 
     public MceEditor Mce { get; set; } 

     public void SaveMessage() 
     { 
      if (Mce == null) 
       Mce = new MceEditor(); 
      Mce.Text = tbDescription.Text; 
     } 
    } 

지금, MceEditorAlpha의 헬퍼 클래스에 나는 EditBox 컨트롤의 "저장"버튼을 누르면 화재 이벤트 핸들러를 가지고있다. 내가해야할 일은 위에 나열된 클래스에서이 이벤트가 SaveMessage()을 방아쇠를 당길 수있게하는 것입니다. MceEditor에 이벤트를 만들고 위의 핸들러를 MceEditorAlpha으로 만들어야합니까?

public class MceEditor : IMessageBroadcaster 
    { 
     public string Text { get; set; } 

     public void OnEditBoxSave(object sender, EventArgs e) 
     { 
      //Handle the event from the EditBoxSave "save" button_click 
     } 
    } 

답변

1

잘 보시다시피 MceEditorAlpha에는 MceEditor에 대한 참조가 있습니다. 알림을 수신하려면 MceEditor가 OnSave 이벤트를 노출하고 MceEditorAlpha에서 서브 섹션을 구독하십시오.

+0

좋은 소식입니다. 나는 전에 정말로 다른 이벤트를 발생시키는 이벤트 핸들러를 만든 적이 없다고 생각합니다. – kd7iwp

관련 문제