做验证时使用ValidationSummary可以让错误显示已弹出框的形式显示,但是我们发现在使用customvalidator进行服务器端验证时,错误显示并不能弹出,解决办法是加上一句js调用ValidationSummaryOnSubmit();代码如下: <asp:Button id="btn_save" runat="server" Text="確定"></asp:Button>
<asp:customvalidator id="cusv" runat="server" Display="None"
ErrorMessage="输入错误!!"
OnServerValidate="check_server">
</asp:customvalidator>
<asp:ValidationSummary id="v1" runat="server"
HeaderText="错误:" ShowSummary="False"
ShowMessageBox="True">
</asp:ValidationSummary> <Script Language="JavaScript">
<!--
ValidationSummaryOnSubmit();
//-->
</Script>
服务器端: protected void check_server(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}这样就可以了。不过我发现如果使用了net的ajax框架,套在UpdatePanel里,又不可以弹出消息框,还不知道如何解决。
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "dd", "ValidationSummaryOnSubmit();", true);
RegisterStartupScript 、page.register等等这样的方法我都试过了,都不可以
<asp:customvalidator id="cusv" runat="server" Display="None"
ErrorMessage="输入错误!!"
OnServerValidate="check_server">
</asp:customvalidator>
<asp:ValidationSummary id="v1" runat="server"
HeaderText="错误:" ShowSummary="False"
ShowMessageBox="True">
</asp:ValidationSummary> <Script Language="JavaScript">
<!--
ValidationSummaryOnSubmit();
//-->
</Script>
服务器端: protected void check_server(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}这样就可以了。不过我发现如果使用了net的ajax框架,套在UpdatePanel里,又不可以弹出消息框,还不知道如何解决。
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "dd", "ValidationSummaryOnSubmit();", true);
RegisterStartupScript 、page.register等等这样的方法我都试过了,都不可以
其中UpdatePanel1是UpdatePanel的ID
ScriptManager相关能用的我基本都试了