2012-04-01 39 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

相关问题