2012-04-01 71 views
0

我一直在尋找一個解決方案,現在幾個小時,並找不到解決方案。asp.net事件處理程序沒有觸發

的情景:

  • 我有一個母版基類(稱爲basemaster)
  • 我所有的母版頁的從basemaster繼承
  • basemaster定義了一個事件 '公共事件HandleClickEvent作爲事件處理程序'
  • 我有一個名爲master1的masterpage
  • master1定義了一個事件處理程序'Public Shadows Event HandleClickEvent As EventHandler'
  • master1有一個名爲USR1
  • USR1用戶控件有一個按鈕,引發事件點擊
  • 時,我有一個網頁,使用master1(翻動書頁)ButtonClicked
  • 翻動書頁上有一個按鈕單擊事件處理程序,它註冊像這樣: '的AddHandler Master.HandleClickEvent,AddressOf HandleTheClick'
  • master1具有碼是這樣的:

    保護小組Usr1_ButtonClicked(BYVAL發件人爲對象,BYVALË作爲System.EventArgs)把手Usr1.ButtonClicked 的RaiseEvent HandleClickEv ENT(發件人,E) 結束小組

  • 時翻動書頁加載我看到它註冊在master1

  • 處理程序點擊按鈕時,Usr1_ButtonClicked被解僱,我通過的RaiseEvent一步,但HandleClickEvent上翻動書頁是永遠到達。

我想我在做一些愚蠢的事情。我希望得到一些幫助。

謝謝!

回答

0

您的母版頁類上的事件是否需要實際的事件處理程序?你應該能夠只是使它成爲一個公共方法,並從您的網頁(或用戶控件)事件處理函數訪問它是這樣的:

Page.Master.MyPublicMasterPageMethod() 

要從母版頁,你可以使用VB的調用方法您的內容網頁上CallByName方法:http://msdn.microsoft.com/en-us/library/22x2chfx.aspx

+0

好的......我不確定我是否知道你的意思。如何從主頁面按鈕觸發事件,然後調用頁面上的處理程序?對不起......有點失落。 – 2012-04-01 23:54:55

+0

查看我更新的答案,打電話往另一個方向(從主頁面到內容頁面) – KodeKreachor 2012-04-02 00:21:20

+0

謝謝。我會試一試......但我仍然很好奇,爲什麼事件處理程序沒有開火......就像我錯過了一些東西。 – 2012-04-02 01:04:29

相關問題