2つのUserControls(.ascx)を含むASP.NET2.0Webページがあります。各UserControlには、多数のバリデーターが含まれています。このページにValidationSummaryを配置すると、両方のUserControlのすべての検証エラーが表示されます。各UserControlにValidationSummaryを配置すると、両方のコントロールのすべてのエラーが2回表示されます。
私が欲しいのは、各UserControlのValidationSummaryであり、そのUserControlのエラーのみを表示します。
各ユーザーコントロールのバリデーターのValidationGroupプロパティを動的に設定することで、これを解決しようとしました。そうすれば、各validationsummaryはそのUserControlのエラーのみを表示する必要があります。私はこのコードを使用しました:
foreach (Control ctrl in this.Controls)
{
if (ctrl is BaseValidator)
{
(ctrl as BaseValidator).ValidationGroup = this.ClientID;
}
}
ValidationSummary1.ValidationGroup = this.ClientID;
ただし、フォームの送信時に検証が行われないため、これによりクライアント側とサーバー側の両方の検証が無効になるようです。
ヘルプ?