2009-05-04 12 views
-1

Ich weiß nicht, ob das wirklich möglich ist, aber ich versuche mein Bestes.Attach RequiredValidator auf benutzerdefinierten Server-Steuerelement Rendern einer TextBox

Wenn ich ein (komplexes) benutzerdefiniertes Serversteuerelement habe, das (neben anderen Steuerelementen) eine TextBox auf der Benutzeroberfläche rendert. Wenn Sie das Serversteuerelement auf einer Seite platzieren, wäre es möglich, einen RequiredField-Validator an dieses Serversteuerelement anzuhängen, sodass der Validierer die Text-Eigenschaft dieses Steuerelements überprüft, die auf die Text-Eigenschaft des gerenderten TextBox verweist?

Natürlich könnte ich den RequiredField-Validator direkt in das Server-Steuerelement integrieren, aber das ist aus anderen Gründen nicht möglich (wir rendered RequiredField-Validatoren automatisch auf der Benutzeroberfläche).

Danke für Ihre Hilfe.

Antwort

0

Ich habe es, das zweite Mal, dass ich beantworten zu mein eigener Post :) Das nächste Mal werde ich eine tiefere Recherche machen.

Für diejenigen von Ihnen, die das gleiche Problem auftreten können. Sie müssen das Attribut ValidationProperty für die Klasse Ihres Serversteuerelements angeben. Zum Beispiel, wenn Sie Ihr Server-Steuerelement eine Eigenschaft „Text“ aussetzt, die den Benutzer angezeigt wird und die auch validiert werden soll, fügen Sie Folgendes:

[ValidationProperty("Text")] 

Dann sollte es funktionieren.

1

Ich denke, eine Lösung besteht darin, Ihr TextBox-Steuerelement in einem Panel zu platzieren, dann fügen Sie das RequiredValidator-Steuerelement dynamisch auf dem Page_Load-Ereignishandler hinzu.

<asp:Panel ID="Panel1" runat="server"> 
<MyCustomTextBox ID="TextBox1" runat="server"></MyCustomTextBox> 
</asp:Panel> 
<asp:Button ID="Button1" runat="server" Text="Button" /> 

dann

protected void Page_Load(object sender, EventArgs e) 
     { 
      var validator = new RequiredFieldValidator(); 
      validator.ControlToValidate = "TextBox1"; 
      validator.ErrorMessage = "This field is required!"; 
      Panel1.Controls.Add(validator); 

     } 

habe ich die CustomTextBox innerhalb der Tafel, um sicherzustellen, dass die Validierung controle Ort korrekt ist, wenn hinzugefügt

+0

hmm ... ich suchte eher nach etwas wie die Serversteuerung mit Anmerkungen, um dem Validator zu sagen, welche Eigenschaft validiert werden muss ... – Juri

Verwandte Themen