2014-12-24 6 views
0

내 마스터 페이지에 라디오 목록이 있으며 그 중 하나를 선택하면 이벤트가 시작됩니다.master 페이지에서 콘텐츠 페이지로 int 및 string 값 전달

이제이 이벤트는 내 콘텐츠 페이지로 제어되는 대신 내 마스터 페이지로 제어되지 않습니다. 제 질문은 int/Strings를 마스터 페이지 메서드에서 콘텐츠 페이지 메서드로 전달하는 것이 가능하다는 것입니다.

P.S는 내가 이것은 내가이 경우

페이지 방법 컨텐츠하기 위해 INT를 전달하는 방법을 나는 조류 그들을.

마스터 페이지의 코드는, 단지 사용자 지정 이벤트 인수 클래스를 정의하고 그것으로 이벤트 변수화 할 수

protected override void OnPreInit(EventArgs e) 
{ 
    base.OnPreInit(e); 
    (this.Page.Master as Pages_MasterPage).Master_Save += new EventHandler(ContentPage_Save); 
} 

private void ContentPage_Save(object sender, EventArgs e) 
{ 
    //Code that changes a query 

} 
+0

http://stackoverflow.com/q/17783165/532498 – Pleun

답변

0

확인 이벤트를 처리하는 이벤트를

public event EventHandler Master_Save; 
    ... 
public void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    int i=RadioButtonList1.SelectedIndex;   
    if(Master_Save!=null) 
    { Master_Save(this, EventArgs.Empty); } 
} 

내 콘텐츠 페이지의 코드를 처리하는 :

public class MasterSaveEventArgs : EventArgs 
{ 
    public int Index { get; private set; } 
    public MasterSaveEventArgs(int index) 
    { 
     this.Index = index; 
    } 
} 

그리고 그냥 사용

public event EventHandler<MasterSaveEventArgs> Master_Save; 
... 
{ Master_Save(this, new MasterSaveEventArgs(i)); } 
... 
(this.Page.Master as Pages_MasterPage).Master_Save += ContentPage_Save; 
// notice the shortened syntax here 
... 
private void ContentPage_Save(object sender, MasterSaveEventArgs e) 
+0

답장을 보내 주셔서 감사합니다. 그러나 내 PreInt 메서드에 정확한 내 EventHandler 줄에 오류가 있습니다. – user3070259

+0

@ user3070259라고 생각하면 답변을 편집 할 수 있습니까? 미래의 경우에는 어떤 오류 *를 지정하는 것이 유용합니다. 그렇지 않으면 추측하도록 남겨두고 있습니다. – Andrei

+0

대단히 고맙습니다. – user3070259