【问题标题】:Two ModalPopupExtenders on a page cause incorrect validation issues页面上的两个 ModalPopupExtender 导致不正确的验证问题
【发布时间】:2009-03-05 16:20:12
【问题描述】:

我有一个 aspx 页面,上面有两个 UserControl;每个主要是一个 ModalPopupExtender。一个有验证器;一个没有。没有带有 CausesValidation="false" 属性的提交按钮的那个。

点击提交按钮后,什么也没有发生。再次单击它,回发将按预期进行。这里显然存在一些验证问题,因为如果我从页面中删除所有验证器,则回发在第一次点击时成功。

这是怎么回事?

【问题讨论】:

    标签: asp.net ajax


    【解决方案1】:

    没有看到代码,我不能肯定地说,但听起来您可能需要使用验证组。验证组将设置在验证组件以及回发页面的按钮上。

    【讨论】:

    • 验证组没有什么不同。我很高兴这一点,因为验证组对带有“CausesValidation=false”的控件没有意义。
    【解决方案2】:

    确保显示 ModalPopups 的按钮也标记为 CausesValidation=false。发生的事情是非验证对话框的“显示对话框”按钮没有以这种方式标记;这导致整个页面在显示该对话框时进行验证 - 包括 other 对话框,该对话框确实进行了验证并且失败了。这导致提交按钮显然无缘无故失败。

    故事的寓意:确保在任何不需要它的按钮上使用 CausesValidation,并使用验证组来分隔各个页面部分,尤其是当页面的某些部分不可见时。

    【讨论】:

      【解决方案3】:

      您是否尝试过从模式弹出窗口中删除 OK 按钮属性?

      【讨论】:

        猜你喜欢
        • 2010-11-30
        • 1970-01-01
        • 2012-09-01
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        相关资源
        最近更新 更多