2014-12-24 1 views
0

У меня есть список радиопередач на моей главной странице, и они запускают событие, когда я выбираю один из них.Передача значений int и string с главной страницы на страницу содержания

Теперь это событие не контролируется моей главной страницей, а контролируется моей страницей контента. Мой вопрос в том, можно каким-либо образом передать int/Strings из метода главной страницы на метод страницы содержания.

P.S я хочу передать Int я удовлетвориться страничный метод в этом случае

Это, как я отлив их.

Master страница Код для обработки события

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); } 
} 

и моей страницы содержимого кода для обработки события

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

Конечно, вы можете просто определить пользовательский ARGS событий класса и параметризуете ваше мероприятие с ним :

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