动态用户控件中嵌套母版页上的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,请尝试使用OnCommand而不是OnClick。