IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

TextBox / Postback / CalendarExtender


Sujet :

ASP.NET

  1. #1
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut TextBox / Postback / CalendarExtender
    Bonjour j'ai un petit problème avec ma textbox qui me fait des misère

    l'objectif final est de calculer une date à partir de celle saisie par l'utilisateur.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:Label ID="lb_date_deb" runat="server" Text="Date de début"></asp:Label>
    <asp:TextBox ID="tb_date_deb" runat="server" AutoPostBack="true" OnTextChanged="SELECTED_DATE"></asp:TextBox>
    <ajax:CalendarExtender runat="server" TargetControlID="tb_date_deb" ID="Cal_Date_livre" Format="dd/MM/yyyy"></ajax:CalendarExtender>
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     protected void Page_Load(object sender, EventArgs e)
            {
                 [...]
               if(!IsPostBack)
                      tb_date_deb.ReadOnly = true;
            }
     
    protected void SELECTED_DATE(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(tb_date_deb.Text))
                {
                    DateTime _deb = DateTime.Parse(tb_date_deb.Text);
     
                    DateTime _end = _deb.AddMonths(36).AddDays(-1);
                    tb_date_fin.Text = _end.ToString("dd/MM/yyyy");
                }
            }
    Mais je passe jamais dans le SELECTED_DATE()...
    Une remarque de plus, c'est que la TB se vide au postback.

    Auriez-vous une idée sur la cause du problème ?

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    A mon avis, c'est le
    tb_date_deb.ReadOnly = true; qui empêche le postback

  3. #3
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    ba le postback fonctionne car si le me met sur le ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
               if(!IsPostBack) <<<<<==== 
                      tb_date_deb.ReadOnly = true;
    avec un point d'arrêt il passe bien dessus

  4. #4
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Après différents test il s'avère qu'effectivement que sans le readOnly cela fonctionne.

    Comment faire pour verrouiller la saisie sachant que si je met le ReadOnly dans l'ascx ou dans le behind ça bug ....

  5. #5
    Membre éclairé Avatar de hamouda64
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Par défaut
    Il faut mettre Enable="False" et ca doit marcher

  6. #6
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    J'ai essayé mais si je met l'extender ne fonctionne plus non plus

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Y a un truc que je comprends pas.
    Tu veux effectuer une action lorsque l'utilisateur saisi qqchose mais tu veux empêcher la saisie dans la Textbox?

  8. #8
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Y a un truc que je comprends pas.
    Tu veux effectuer une action lorsque l'utilisateur saisi qqchose mais tu veux empêcher la saisie dans la Textbox?
    +1

    Si tu souhaites garder le ReadOnly, c'est le CalendarExtender qui devrait déclencher le PostBack dans ce cas là, et pas la TextBox.

  9. #9
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    oui c'est ca

    J'ai un extender et je veux que l'utilisateur choisisse une date depuis celui-ci en bloquant la possibilité de la saisir manuellement un date.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ajax:CalendarExtender runat="server" TargetControlID="tb_date_deb" ID="Cal_Date_livre" Format="dd/MM/yyyy"></ajax:CalendarExtender>

  10. #10
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Il y a d'autres solutions, comme utiliser contentEditable à False (il me semble que ça ne fonctionne que sous IE malheureusement).

    Je t'invite à lire ce topic qui propose plusieurs solutions. Reviens nous dire ici laquelle tu as choisis, histoire de permettre aux autre personne qui rencontrent ce problème de le gérer plus rapidement.

    En espérant t'avoir aidé.

  11. #11
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Merci pour lien ! j'y est trouvé ma solution

    Dans le code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Textbox1.Attributes.Add("readonly","true");
    Tout simplement

    Merci à toutes et tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. perte valeur modifier d'un textbox après postback
    Par DocSly dans le forum ASP.NET
    Réponses: 0
    Dernier message: 22/09/2014, 14h34
  2. Réponses: 4
    Dernier message: 22/06/2012, 08h56
  3. TextBox Dynamique PostBack
    Par eleve_prog dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/03/2011, 15h42
  4. GridView + TextBox + PostBack
    Par Neodream dans le forum Débuter
    Réponses: 2
    Dernier message: 15/04/2010, 15h03
  5. [VB6] [Interface] ScrolBar & TextBox
    Par DarkVader dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/10/2002, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo