2009-12-17 6 views
2

Je souhaite combiner une zone de texte et plusieurs contrôles de validation dans 1 usercontrol. Est-ce possible avec l'intention de garder certains champs dynamiques commeContrôles Usercontrols asp.net textbox/validator

zone de texte: CssClass zone de texte: id zone de texte: largeur

Je demande cela parce que je me trouve mettre beaucoup de contrôle validateur pour chaque (même type de zone de texte) dans mon formulaire et ça devient un peu brouillon.

Cordialement, Mark

Répondre

1

Construisez votre usercontrol avec des propriétés qui passent à travers les zones de texte. Ainsi, par exemple, vous souhaitez inclure votre ascx comme:

<cc1:MyUserControl runat="server" TextBoxWidth="50" 
    TextBoxId="txtID" TextBoxCssClass="class" /> 

Dans le code de votre contrôle utilisateur, il suffit de créer ces propriétés:

public int TextBoxWidth { get; set; } 
public string TextBoxID { get; set; } 
public string TextBoxCssClass { get; set;} 

Et dans le code quelque part, passer les propriétés jusqu'à votre contrôle de zone de texte. PreRender serait un bon endroit pour le faire.

... 
    myTxtControl.Width = this.TextBoxWidth; 
    myTextControl.ID = this.TextBoxID; 
    myTextControl.CssClass = this.TextBoxCssClass; 
... 

où myTextControl est la zone de texte que votre usercontrol contient.

+0

Fonctionne comme un charme! Merci beaucoup m8 je reçois maintenant le concept! –

+0

Pas de problème, heureux d'aider. N'hésitez pas à modifier la réponse que vous acceptez, les votes nous aident à continuer;) – womp