0

UpdatePanelsフォームには 2 つあり、両方とも複数の と が含まれてDropDownListsおりTextBoxes、そのほとんどを検証する必要があります。検証の概要とバリデーターを別の にグループ化していdivます。はdivどちらの更新パネル内にもありません。そして、最終的に、どちらにもないボタンができましたUpdatePanels。ボタンをクリックするだけで、すべてのコントロールが検証され、検証の概要に表示されるようにするにはどうすればよいですか?

4

2 に答える 2

1

まず、ボタンAsyncPostBackTriggerを両方のとして設定する必要がありますUpdatePanels
次に、EnableClientScript="true"すべてのバリデーターを設定する必要があります。これにより、クライアント側で検証が実行されます(Javaスクリプト)。
最後に、ボタンValidationGroupはバリデーターの1つと一致する必要があります。

ただし、サーバー側で検証を実行する必要がある場合は、バリデーターを更新パネルに配置して、非同期で更新する必要があります。

于 2012-05-03T13:26:36.747 に答える
0

これらの提案を何もせずにこれを達成したと信じてください。ボタンの検証グループとすべてのバリデーターを同じ値に設定しました。ケースを思い出させてください:私は2つの更新パネルを持っています.最初のパネルのコントロールのバリデーターは、どちらのパネルにも含まれていない別のdivにあります。2 番目の更新パネルには、検証するコントロールが 1 つしかないため、そのバリデーターを同じパネルに配置しました。そして、これらすべてとは完全に別のボタンがあります。ボタンをクリックすると、validationsummary にまとめられたすべての検証メッセージを取得できます。しかし、非常に奇妙なことはまだ秘密のままです: 最初のパネル コントロールのバリデーターはそのパネルの外にあり、かなりうまく機能します。しかし、2 番目の更新パネルから唯一のバリデーターを取得し、それを他のバリデーターの中に入れると、その単一のバリデーターのメッセージが表示されません。このような多くのことを目撃したので、これは Visual Studio のバグであるとほぼ確信しています。

于 2012-05-04T05:17:25.747 に答える