使用RequiredFieldValidators,ValidatorCallout和验证的ModalPopupExtender以正确的顺序显示

时间:2012-03-22 16:06:34

标签: asp.net requiredfieldvalidator

我正在尝试以正确的顺序发生一系列事情,但没有运气。我所拥有的是asp:ReuiredFieldValidators和asp:ValidatorCallout的许多字段来显示验证消息。这是通过按钮Save with validation =“true”触发的。

如果全部验证,则应显示模式对话框,要求对如何保存数据进行两次选择。无论答案如何,它应该始终在此阶段继续编写后面的保存函数.AjaxToolkit_ModalPopupExtender连接到同一个保存按钮。

会发生的情况是验证标注和模态对话框同时显示。

搜索提示和帮助,但没有找到任何,对我来说,有帮助!非常感谢任何帮助!

干杯 /约翰

2 个答案:

答案 0 :(得分:0)

如果页面有效,您可以在代码后面显示ModalPopup(在BtnSave.Click - 处理程序中):

Page.Validate("YourValidationGroup");
If(Page.IsValid){ 
    ModalPopup1.Show();
}

因此,您需要将TargetControlID的{​​{1}}设置为隐藏按钮:

ModalPopupExtender

答案 1 :(得分:0)

只有在客户端验证页面时,才必须移至Code Behind。您可以使用按钮的OnClientClick

来执行此操作
    <asp:Button ID="ShowDialog" onClientClick = "return ValidatePage();" 
     runat="server" />


    <script type="text/javascript">

    function ValidatePage() {

        if (typeof (Page_ClientValidate) == 'function') {
            Page_ClientValidate();
        }

        if (Page_IsValid) {
            // do something
            alert('Page is valid!');                
            return true;
        }
        else {
            // do something else
            alert('Page is not valid!');
            return false;
        }
    }

</script>