UpdatePanel中的ImageButton不支持PostBack

时间:2010-08-03 14:20:13

标签: c# asp.net asp.net-ajax

我在弹出式div中创建了一个表单,其中包含一个带有ImageButtons的UpdatePanel。

最初,我使用LinkBut​​tons进行测试,但我想要ImageButtons。问题是,它适用于LinkBut​​tons,而不适用于ImageButtons(绝对没有任何反应)。

检查来源,我看到javascript调用有点不同:
LinkBut​​ton:

<a href="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions(&quot;ctl00$cphC$ctrlAdr$AdrMapo$lbAdresseSaisie&quot;,
&quot;&quot;, true, &quot;&quot;,
&quot;&quot;, false, true))"
id="ctl00_cphC_ctrlAdr_AdrMapo_lbAdresseSaisie">test</a>

ImageButton:

<input align="absmiddle" type="image" style="border-width:0px;"
onclick="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions(&quot;ctl00$cphC$ctrlAdr$AdrMapo$rpAdressesProposees$ctl00$ibAdresseProposee&quot;,
&quot;&quot;, true, &quot;&quot;,
&quot;&quot;, false, false))"
...>

检查完毕后,我发现WebForm_PostBackOptions的最后一个参数名为clientSubmit,如果设置为true,则会执行提交。 对于ImageButton,此值设置为false,如果我使用Firebug手动将其更改为true,则按预期工作。 但是在绘制控件时,我找不到任何方法来更改该参数。这非常烦人。

如果我设置ImageButton.CausesValidation,则没有生成javascript,当我点击按钮时没有任何反应。 UpdatePanel声明如下:

<asp:UpdatePanel ID="upAdressesProposees" ChildrenAsTriggers="true"
UpdateMode="Conditional" runat="server" Visible="true">

确保我为ImageButton声明了一个触发器。 我使用UpdateMode="conditional"因为它需要在UpdatePanel事件之外以编程方式更新。

LinkBut​​ton在完全相同的情况下正确提交,所以我不知道我在这里做错了什么......

1 个答案:

答案 0 :(得分:0)

是否正在执行阻止回发的客户端验证?如果从页面中删除UpdatePanel,它是否会进行回发?我会对此进行测试,以便确定UpdatePanel + ImageButton或Imagebutton是否存在问题。