Textbox ASP.NET

gbrualla Messages postés 1 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 28 octobre 2007 - 28 oct. 2007 à 11:41
banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008 - 2 nov. 2007 à 14:16
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

banekodeih Messages postés 24 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 8 février 2008
2 nov. 2007 à 14:16
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);
}
Rejoignez-nous