0
サーバーコントロール内で検証コントロールを使用するにはどうすればよいですか?検証コントロールで使用するためにコードの背後にコントロールのIDを設定する
private TextBox _textbox;
RequiredFieldValidator _validator;
protected override void OnInit(object sender, EventArgs e)
{
_textbox= new TextBox {ID = "test"};
_validator = new RequiredFieldValidator{ControlToValidate = _textbox.ID};
}
protected override void OnLoad(object sender, EventArgs e)
{
this.Controls.Add(_textbox);
this.Controls.Add(_validator);
}
はその後、それが正常に動作しますが、私はテキストボックスの後ろにコードでIDを設定しているため、実際の生成されたHTMLでのテストのIDを持っている:私が持っている問題は、私はこのような何かを行う場合は、デフォルトではということです(ctl1_ctl2_testまたは何かの代わりに)。つまり、同じページでコントロールを2回使用すると、エラーが発生します。私はIDを設定しない場合、それはnullであり、バリデータはコントロールを見つけることができません。
すべてのヘルプは素晴らしいことだ、
おかげで、
ジョー
ページ内で同じコントロールを2回使用する理由は何ですか?同じコントロールを2回使用することは、同時に2つの場所にいるようなものです。するな。量子エンタングルメントはまだネットに達していません。新しいコントロールを作成します。 –
私はあなたの質問を理解しているかどうかわかりません。あなたのページでRequiredFieldValidatorを2回(2種類のコントロール用)使用しようとしていますか? – gabsferreira
ページのライフサイクルの後の段階でControlToValidateプロパティを設定しようとしましたか。ロード中か事前レンダリング中か? @サニ:これは、カスタムまたはUserControlと仮定し、このコントロールは、ページ上で複数回使用されます。 –