动态用户控件中嵌套母版页上的ImageButton事件未激发

本文关键字:事件 ImageButton 控件 用户 嵌套 母版页 动态 | 更新日期: 2023-09-27 18:25:14

我在这里发现了许多等效的问题,但似乎不适用于我的问题。

我正在将控件动态加载到嵌套母版页中。在嵌套主页中加载的不同用户控件中的按钮不会触发按钮单击事件。

调试时,它看起来就像是在嵌套母版页上单击任意按钮时发生的正常回发。调试中未触发/捕获任何事件。嵌套的母版页重新加载(post-back),仅此而已。

可能与情况有关的一些信息:

  • 我正在为我的方法使用codeehind,以及我希望在哪里捕捉事件。

  • 我已经把加载uc的代码放在Nested MasterPage的init sub中。

  • 我已经进行了测试,并手动将控件添加到面板中,在整个生命周期中,一切都按预期进行了连接,并且为手动添加的控件触发了事件。

  • 我已经使用静态客户端ID对按钮进行了测试,因为我认为事件可能连接不正确。这没有任何效果。

  • 我已经手动为我的控件分配了唯一的id,没有效果。

  • 所有用户控件都有并保持正确的属性设置(描述、数量等)。

  • 每次加载嵌套母版页时,我都会重新加载用户控件。

  • 我不是在ifIsPostback上退出,而是在每次回发时重新加载控件,因为控件上的一个按钮可能会删除该控件,并且需要在主页面的Page Init上重新生成新的剩余控件。

  • 母版页上有一个脚本管理器(而不是嵌套的母版页)。

  • 我在内容页面中使用Ajax,但在Nester Masterpage中没有。

  • 母版页或嵌套母版页上没有更新面板。

  • 所有事件都以正常方式在内容页面上启动。

  • 在我的内容页中,我动态地将控件删除并添加到嵌套母版页中。此操作效果良好,并相应加载控件。

  • 我不会直接将控件从内容页设置到母版页。

  • 我在我的内容页中创建控件,并将它们传递给一个例程,该例程管理一个包含我所有控件的自定义对象,根据需要添加和删除该对象中的控件。

  • 在我的Nested Masterpage Init事件中,我逐步完成我的自定义控件对象,并将它们添加到面板中。

  • 我不知道如何在浏览器中调试回发事件,因为我是中的这些控件不使用udpate面板和Ajax嵌套母版页。

这是为工作的控件生成的HTML(在设计时手动插入)

<input type="image" src="bookings_media/buttons/add-another-unit.jpg" 
id="ContentPlaceHolder1_ucAddAnotherUnit1_butAddAnotherUnit" 
name="ctl00$ctl00$ContentPlaceHolder1$ucAddAnotherUnit1$butAddAnotherUnit">

这是为动态添加的控件呈现的HTML:

<input type="image" src="bookings_media/buttons/add-another-unit.jpg" 
id="ContentPlaceHolder1_ctl02_butAddAnotherUnit"
name="ctl00$ctl00$ContentPlaceHolder1$ctl02$butAddAnotherUnit">

任何可能在这里遇到问题的想法:

动态用户控件中嵌套母版页上的ImageButton事件未激发

关于ImageButton,请尝试使用OnCommand而不是OnClick。