2009-02-10 36 views
2
處理

我有一箇中繼器內的用戶控件。用戶控件具有的ImageButton,點擊它時,應提高一個事件,這將處理該事件的頁面:Asp.NET:UserControl的BubbleEvent不被中繼器或頁面

//Button onClick event in user control 
protected void btnOpenOption_Click(object sender, ImageClickEventArgs e) 
{ 
    RaiseBubbleEvent(sender, e); 
} 

以下是在頁面上兩種方法。一個從子控件處理BubbleEvent,其他處理中繼器的一個ItemEvent命令:

protected void rptProcessOptions_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    //do something... 
} 

protected override bool OnBubbleEvent(object source, EventArgs args) 
{ 
    //do something else... 
} 

我讀過中繼ItemCommand處理程序應該從孩子控制監聽BubbleEvent,隨後處理它,但不是。頁面上的OnBubbleEvent處理程序也沒有選擇它。換句話說,這個事件正在迷失。我知道這是因爲當我在調試器中逐步完成時我可以看到它。

我已經成功使用RaiseBubbleEvent,但從來沒有在一箇中繼器,所以我不知道如果我試圖是正確的。有什麼想法嗎?

回答

1

僅當EventArgs是RepeaterCommandEventArgs的實例時纔會觸發ItemCommand。