Greetings All, 我有兩個ascx加載在aspx頁面的page-init事件中。控件1有一個單選按鈕列表,我希望控件2上的下拉列表響應它的selectedIndex更改。到目前爲止,我在SelectedIndexChange處理程序上調用RaiseBubbleEvent,並傳遞一個控件引用和commandArgs。然後在aspx我重寫OnBubbleEvent,我能夠接收控制參考和commandArgs。我的問題是如何將這些信息傳遞給Control 2.頁面不知道控件,因爲它們是動態加載的並添加到aspx中的asp:PlaceHolders中。我需要控制2來知道哪個單選按鈕被選中,所以我可以更改控件2下拉的數據源。有沒有人有任何這樣的例子嗎?任何指針或提示將不勝感激。在聖地亞哥ASP.NET如何動態加載用戶控件對彼此事件做出響應?
0
A
回答
0
感謝, 〜CK我不知道這是一個很好的解決方案,但它應該工作。爲控件2中的事件創建一個處理程序,並有一些方法可以訪問該處理程序的委託。然後,將控件1的事件連接到由該訪問器返回的處理程序。非常粗略例如:
在控制1:
public event SelectedIndexChanged;
public void PageLoad()
{
radioList.SelectedIndexChanged += new EventHandler(RadSelectedIndexChanged);
}
public void RadSelectedIndexChanged(object sender, EventArgs args)
{
SelectedIndexChanged(sender, args);
}
在aspx頁面:
control1.SelectedIndexChanged += control2.GetHandler();
在控制2:
public EventHandler GetHandler()
{
return new EventHandler(HandleEvent);
}
protected void HandleEvent(object sender, EventArgs args)
{
}
0
好,控制2應真的只是被連接到另一個控件的'SelectedIndexChanged'事件。這是不可能的,出於某種原因?
0
既然你提到頁面沒有意識到這些控件,最好的辦法是讓Control1類使用I-want-to-listen-to-your-event setter方法公開接口。
Control2應該搜索其父(頁面)的其他兄弟控件實現接口,然後調用傳遞引用傳遞給它的處理程序。
通過這種方式,控件可以放在任何其他頁面上而不需要修改。
編輯:
新增下載一個sample web application。源代碼被髮布到公共領域。
相關問題
- 1. 如何在動態加載時註冊用戶控件事件
- 2. 基於其他控制事件動態加載用戶控件
- 3. 如何動態加載包含asp控件的用戶控件
- 4. 用javascript動態加載asp.net控件
- 5. 綁定到動態加載的用戶控件中的事件
- 6. As3觸摸事件影響彼此
- 7. 面板和用戶控件vs動態加載用戶控件
- 8. 影響彼此的Android複合控件
- 9. 動態加載用戶控件
- 10. 動態加載用戶控件
- 11. 動態加載的用戶控件
- 12. 如何將事件從動態加載用戶控件引發到頁面?
- 13. 如何處理動態加載的用戶控件上的事件?
- 14. 如何動態添加用戶控件中的用戶控件
- 15. ASP.Net用戶控件事件
- 16. ASP.net VirtualPathProvider動態加載控件
- 17. 動態加載的ASP.NET用戶控件無法初始化
- 18. 用戶控件動態加載參數不顯示在asp.net
- 19. 最佳ASP.NET動態用戶控件加載方法
- 20. 如何捕獲動態加載控件的onclick事件?
- 21. 動態加載的用戶控制事件訂閱
- 22. 動態添加ASP.NET Web用戶控件到控件
- 23. 從動態加載的Web用戶控件(asp.net c#)中的控件訪問值
- 24. ASP.NET導航加載用戶控件(扣事件)
- 25. ASP.NET:如何銷燬動態添加的用戶控件
- 26. 我的動態加載的用戶控件中的事件不會在ASP.NET Web應用程序中觸發
- 27. 如何使用指針事件只對滾動事件做出反應?
- 28. ASP.Net/AJAX - 在asp.net中動態加載用戶控件後事件不會觸發用c#
- 29. 如何在ASP.NET中動態加載用戶控件而不回發
- 30. 如何在asp.net中動態地加載用戶控件/局部視圖mvc
我喜歡這個想法。我如何使用I-To-listen-to-your-event setter方法創建接口?當你說「setter」時,你的意思是一個屬性{set;}以及該方法返回什麼類型。我很抱歉,在編碼事件時,我有點新手。謝謝。 – Hcabnettek 2009-08-21 05:33:57
@Kettenbach:增加了示例應用程序。 – devstuff 2009-08-21 12:00:01