Textbox ASP.NET

Signaler
Messages postés
1
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
28 octobre 2007
-
Messages postés
24
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
8 février 2008
-
Hello, probleme ASP.NET


Je rencontre un problème avec l'utilisation d'une Textbox que j'ai déclaré avec les propriétés suivantes:
TextMode=Multiline
MaxLength=100


A l'exécution, la propriété Multiline est bien prise en compte mais pas Maxlength.


Dans ce cas de figure, il génère une balise <textarea> qui n'a pas de propriété MaxLength.
Par contre, si je déclare la propriété TextMode=SingleLine, la propriété MaxLength fonctionne correctement car, dans ce cas-là, il génère une balise .
Avez-vous une solution pour faire du multiline et limiter le nombre de caractères ?
D'avance, merci

gb34

1 réponse

Messages postés
24
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
8 février 2008

Il faut avoir un ClientScriptBlock dans le Page_Load de ta page aspx où tu utilise ton TextBox (nommé txtMyTextBox par example) :

constint LENGTH_TEXT =100;

protectedvoid Page_Load(object sender, EventArgs e)
{
    string  lengthFunction ="function isMaxLength(txtBox) {"; 
    lengthFunction +=" if(txtBox) { ";
    lengthFunction +="return ( txtBox.value.length <="+ LENGTH_TEXT +");";
    lengthFunction +=" }";
    lengthFunction +="}";

    this.txtMyTextBox.Attributes.Add("onkeypress", "return isMaxLength(this);");
    ClientScript.RegisterClientScriptBlock(
        this.GetType(),
        "txtLength",
        lengthFunction , true);
}