0

我的表单中有两个UpdatePanels,都包含几个DropDownListsTextBoxes,其中大部分都需要验证。我有一个验证摘要和验证器组合在一个单独的div. div不在任何一个更新面板内。我终于有了一个不在 any 中的按钮UpdatePanels。如何确保只需单击按钮即可验证所有控件并显示在验证摘要中?

4

2 回答 2

1

首先,您的按钮必须设置为AsyncPostBackTrigger两者中的一个UpdatePanels
其次,您必须设置EnableClientScript="true"所有验证器,这将在客户端(java 脚本)执行验证。
最后,您的按钮ValidationGroup必须与您的验证器之一匹配。

但是,如果您需要在服务器端执行一些验证,则必须将您的验证器放在更新面板中以异步更新它们。

于 2012-05-03T13:26:36.747 回答
0

相信我,我在没有采取任何这些建议的情况下实现了这一目标。我只是将按钮的验证组和所有验证器设置为相同的值。就是这样。让我提醒你这个案例:我有两个更新面板。第一个面板上的控件的验证器位于一个单独的 div 中,它不包含在任何一个面板中。第二个更新面板只有一个要验证的控件,所以我将它的验证器放在同一个面板上。我有一个与所有这些完全不同的按钮。当我单击按钮时,我可以获得验证摘要中汇总的所有验证消息。然而,一个非常奇怪的事情仍然是一个秘密:正如我所说的第一个面板控件的验证器在那个面板之外,它们工作得很好。但是,如果我从第二个更新面板中取出唯一的验证器并将其放在其他验证器中,我就不会收到该单个验证器的消息。我几乎可以肯定这是 Visual Studio 中的一个错误,因为我目睹了很多这样的事情。

于 2012-05-04T05:17:25.747 回答