Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mise en majuscule automatique en c#

Sujet résolu
    6 février 2012 à 17:31:27

    Bonjour à tous !

    Voila, pour mon stage je dois réaliser une petite application en aspx.net.
    Mon application contient une TextBox qui ne doit afficher que des majuscules ...
    J'ai trouvé sur le net cette solution :

    Txt_Reference.Attributes.Add("OnKeyUp", "this.value=this.value.toUpperCase()");

    Elle marche, cependant les majuscules se mettent avec un décalage, elles s'écrivent en minuscule et après en majuscule.
    Connaissez-vous une solution pour éviter ce décalage ?

    Merci d'avance.

    Chiche
    • Partager sur Facebook
    • Partager sur Twitter
      6 février 2012 à 17:50:21

      Peut-être comme ceci ? :euh:

      Txt_Reference.Attributes.Add("onchange", "this.value=this.value.toUpperCase()");
      • Partager sur Facebook
      • Partager sur Twitter
        6 février 2012 à 17:54:29

        Non, ça ne marche pas. Les lettres restent en minuscule :(

        Le code est bien à mettre dans le page_load ?
        c'est la que j'ai mis le code précédent et qui créé un décalage ...
        • Partager sur Facebook
        • Partager sur Twitter
          6 février 2012 à 18:45:47

          Oui c'est bien là qu'il faut placer ce code.

          Malheureusement tu es limité par les possibilités du HTML et du javascript, donc à ma connaissance il n'y a pas moyen de faire mieux :(
          • Partager sur Facebook
          • Partager sur Twitter
            6 février 2012 à 22:45:49

            Je n'ai jamais fait d'ASP.NET avant donc je dis peut-être une bourde mais est-ce qu'on ne peut pas utiliser un SendKey pour activer la touche majuscule et la désactiver quand l'utilisateur quitte la page ?

            (CETTE QUESTION EST UNE SIMPLE CURIOSITE, CE N'EST PAS UNE SOLUTION QUE JE TE PROPOSE DE FAIRE !)
            • Partager sur Facebook
            • Partager sur Twitter
            "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
              7 février 2012 à 1:48:28

              Je n'ai pas trop touché à ASP.NET, mais pour eviter le decalage, il faut que la mise en majuscule s'effectue coté client.

              Essais ceci - cela ajoute une propriété CSS au textbox (ici nommé 'txtbox') :

              txtbox.Attributes.Add("style", "text-transform: uppercase");
              


              Par contre, cela ne fait que faire paraitre le texte comme étant en majuscule, alors qu'il ne l'ai pas necessairement. Pour contrer cela, lorsque le texte est obtenue coté serveur, il faut faire un ToUpper sur txtbox.Value.

              En espérant avoir aidé!
              • Partager sur Facebook
              • Partager sur Twitter
              Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
                7 février 2012 à 9:39:00

                Bonjour, désolée de la réponse tardive.
                Merci pour vos réponses, ça marche nickel !!
                La majuscule se met automatiquement.
                Merci encore. Bonne journée.
                • Partager sur Facebook
                • Partager sur Twitter

                Mise en majuscule automatique en c#

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown