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

时间:2013-07-29 07:55:35

标签: c# asp.net .net vb.net

我在这里找到了许多相同的问题,但似乎并不适用于我的问题。

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

调试时,似乎只是在嵌套母版页上单击任何按钮时发生的正常回发。在调试中没有触发/捕获事件。嵌套的母版页重新加载(回发),就是它。

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

  • 我正在为我的方法使用codebehind,以及我期望捕获事件的位置。

  • 我已将加载uc的代码放在Nested MasterPage的init子中。

  • 我已经测试过,并且手动将控件添加到面板,在整个生命周期内,所有内容都按预期连接,并且手动添加的控件会触发事件。

  • 我已经测试过使用静态客户端ID作为我的按钮,因为我认为该事件可能连线不正确。这没有任何效果。

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

  • 所有usercontrol都拥有并保留为它们设置的正确属性(描述,数量等)。

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

  • 我没有退出ifIsPostback,而是在每个回发上重新加载控件,因为控件上的一个按钮可能会删除该控件,而新的剩余控件需要在主页的Page Init上重建

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

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

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

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

  • 在我的内容页面中,我会动态删除控件并将其添加到嵌套母版页。这很有效,并且相应地加载了控件。

  • 我没有直接将控件从内容页面设置到母版页。

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

  • 在我的嵌套母版页初始化事件中,我逐步完成自定义控件 对象并将它们添加到面板中。

  • 我不知道如何在浏览器中调试回发事件,就像我一样 不使用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">

任何想法可能会在这里陷入困境:

1 个答案:

答案 0 :(得分:0)

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