我在弹出式div中创建了一个表单,其中包含一个带有ImageButtons的UpdatePanel。
最初,我使用LinkButtons进行测试,但我想要ImageButtons。问题是,它适用于LinkButtons,而不适用于ImageButtons(绝对没有任何反应)。
检查来源,我看到javascript调用有点不同:
LinkButton:
<a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cphC$ctrlAdr$AdrMapo$lbAdresseSaisie", "", true, "", "", 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("ctl00$cphC$ctrlAdr$AdrMapo$rpAdressesProposees$ctl00$ibAdresseProposee", "", true, "", "", 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事件之外以编程方式更新。
LinkButton在完全相同的情况下正确提交,所以我不知道我在这里做错了什么......
答案 0 :(得分:0)
是否正在执行阻止回发的客户端验证?如果从页面中删除UpdatePanel,它是否会进行回发?我会对此进行测试,以便确定UpdatePanel + ImageButton或Imagebutton是否存在问题。