最近做.NET的web应用,想实现这样一个功能:
1.点击button后,先进行页面上的.NET自带验证控件的验证,错误时提示信息且弹出错误框。
2.页面验证通过后,弹出确认框,点"确定"执行后台处理,点"取消"无操作。
网上给出的办法,都做了尝试。大体有以下几种情况:
1.先弹出"确认、取消"对话框,再弹出验证控件的对话框
2.验证控件的对话框弹出两次。
其他不能实现两者都弹出的就不说了。
综合网上各位达人给出的办法,终于解决该问题。重点在于给ValidationSummary 加了个 ValidationGroup="AA"。将button与ValidationSummary 的ValidationGroup设成不同的。居然能减少一次弹出对话框,奇怪!
前台部分代码:(其他页面信息的RegularExpressionValidator、RequiredFieldValidator验证省略)
<div align="center" style="height: 69px; margin-top: 15px">
<span class="forumrow"><span class="px14">
<asp:Button ID="sendbtn" runat="server" Width="100px" Text="确认提交发送" class="formbutton"
OnClick="addbtn_Click" CausesValidation="true" ></asp:Button>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="true" ValidationGroup="AA"
ShowSummary="False"></asp:ValidationSummary>
</span></span>
</div>
后台部分代码:
if (!IsPostBack)
{
this.sendbtn.Attributes["onclick"] = "javascript: if (typeof(Page_ClientValidate) == 'function') {if(Page_ClientValidate()) return window.confirm('请確定是否发送?');}";
}