在我的aspx页面上,我有两个fieldsets
,每个<asp:Panel DefaultButton="...">
都包含一个<input type="submit">
,它们有自己的<div id="content">...</div>
<asp:Panel runat="server" id="formPanel1" DefaultButton="form1SubmitButton">
<fieldset>
<asp:TextBox runat="server" id="textbox1"/>
<asp:TextBox runat="server" id="textbox2"/>
<asp:Button runat="server" id="form1SubmitButton" OnClick="form1SubmitButton_OnClick"/>
</fieldset>
</asp:Panel>
<asp:Panel runat="server" id="formPanel2" DefaultButton="form2SubmitButton">
<fieldset>
<asp:TextBox runat="server" id="textbox3"/>
<asp:TextBox runat="server" id="textbox4"/>
<asp:Button runat="server" id="form2SubmitButton" OnClick="form2SubmitButton_OnClick"/>
</fieldset>
</asp:Panel>
按钮。这是一个缩写版本......
form2SubmitButton
只有最后一个提交按钮{{1}}才会回发,另一个按钮在点击时不会执行任何操作。 我已经简化了上面的代码,但我应该提一下,每个表单(包括Panel)都保存在aspx上注册的单独用户控件中。
更新经过一些研究后,我发现由于母版页上另一个字段集上的验证程序,提交无法正常工作。该字段集用于登录该站点,因此需要它。思考?
答案 0 :(得分:2)
正如PCasagrande所提到的,请确保您的验证组与默认按钮和所有验证器匹配。特别适用于您的日志记录部分。
示例:
<asp:Panel ID="pnlUpdateInfo" runat="server" DefaultButton="btnUpdateInfo">
<ASP:TEXTBOX id="txtZip" runat="server"></ASP:TEXTBOX>
<asp:RequiredFieldValidator id="reqvalZipSignUp" runat="server"
ControlToValidate="txtZip" ValidationGroup="btnUpdateInfo" />
<asp:Button ID="btnUpdateInfo" runat="server" ValidationGroup="btnUpdateInfo" />
</asp:Panel>
答案 1 :(得分:1)
原来它与HTML5约束验证有关。我认为这是因为在chrome中,从控制台,我收到错误An invalid form control with name='...' is not focusable
。这导致我this发帖。我将html5属性formnovalidate="formnovalidate"
添加到提交按钮,一切正常(*在chrome v20.0.1132.57,firefox v14.0.1,IE9 v9.0.8112中测试)。
所以回顾一下,这是答案......
<asp:Button runat="server" id="submit1" OnClick="submit1_OnClick" text="Submit" formnovalidate="formnovalidate"/>