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 :

Problème de mise à jour de données


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 32
    Par défaut Problème de mise à jour de données
    Bonjour,

    Je débute sur .Net et je ne suis pas encore très au fait des bonnes pratiques.
    Mon projet est un peu complexe pour pouvoir poster du code.

    Je requête un système SAP et j'affiche mes données dans une listview qui permet aux utilisateurs des modifier des données que je renvoie vers SAP.


    Les controls de mon itemtemplate qui semble poser problème :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <asp:ImageButton  ID="bouton_plus" runat="server" 
                      AlternateText="Ajouter" 
                      Height="15px" 
                      ImageUrl="~/img/plus.png" 
                      OnClick="click_plus" 
                      TabIndex="<%# Container.DataItemIndex %>" 
                      Width="15px" />
     
     
    <asp:TextBox  ID="zqtcmd" runat="server"  
                  AutoPostBack="True" 
                  causevalidation="true"
                  ControlStyle-Width="80px" 
                  Style="text-align:right" 
                  TabIndex="<%# Container.DataItemIndex %>" 
                  OnTextChanged="saisi_quantite" 
                  Text='<%# Convert.ToInt32(Eval("zqtcmd")) %>'>
    </asp:TextBox> 
    <asp:MaskedEditExtender ID="MaskedEditExtender1" 
                            runat="server" 
                            TargetControlID="zqtcmd" 
                            Mask="999999999" 
                            PromptCharacter="" 
                            ClearTextOnInvalid="true">
    </asp:MaskedEditExtender>
    le code serveur :
    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
     
    protected void click_plus(object sender, EventArgs e)
    {
        // Récupération de la ligne selectionnée
        ImageButton buttonclick = (ImageButton)sender;
        int rownumber = buttonclick.TabIndex;
        // Mise à jour des données sauvegardées dans la session 
        DataTable dt = (DataTable)(Session["dt_data"]);
        DataRow row = dt.Rows[rownumber];
        //row.BeginEdit();
        // ajoute increment
        row[11] = (Convert.ToInt32(row[11]) + Convert.ToInt32(row[4])).ToString();
        //row.EndEdit();
        // mise à jour de la listview
        bindListView();
    }
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    protected void saisi_quantite(object sender, EventArgs e)
    {
        // Récupération quantité saisie
        TextBox inputModif = (TextBox)sender;
        int rownumber = inputModif.TabIndex;
     
        // Mise à jour des données sauvegardées dans la session 
        DataTable dt = (DataTable)(Session["dt_reappro_client"]);
        DataRow row = dt.Rows[rownumber];
        // CONTROLE SAISI 
        float reste = Convert.ToInt32(inputModif.Text) % Convert.ToInt32(row[4]);
        if (reste == 0)
        {
            //row.BeginEdit();
            row[11] = inputModif.Text.ToString();
            //row.EndEdit();
        }
        else
        {
            //inputModif.Text = "0";
            //row.BeginEdit();
            row[11] = "0";
           // row.EndEdit();
        }
        // mise à jour de la listview
        bindListView();
    }

    A première vu tout fonctionne, mais lorsque l'on se sert des boutons retour et refresh du navigateur les modifications apportées en saisie ou par le click sur le bouton plus ne sont pas sauvegardées. Je me retrouve avec ma zone de saisie à 0. Et cela uniquement pour le premier item de ma listview. Pour les items suivants tout fonctionne correctement. Si je suis le processus de validation des données, la page suivante reçoit bien les données à jours modifiées par mes deux fonctions click_plus et saisi_quantite.

    En debug je me suis rendu compte que la methode saisi_quantite était systématiquement appelé deux fois. Qu'est qui généré ce double appel ? Le fait d'être en debug ?

    Pouvez-vous me donner une piste, je galère sur ce problème depuis ce matin et là je craque !
    Si vous avez des remarques à faire sur la technique de codage elles seront également les bienvenues.

    Merci d'avance pour votre aide !

    Stéphane

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 32
    Par défaut
    Je viens de m'apercevoir que je n'avais ce problème qu'avec Firefox !

Discussions similaires

  1. Problème de mise à jour de données
    Par david71 dans le forum Hibernate
    Réponses: 0
    Dernier message: 14/01/2009, 19h13
  2. Réponses: 3
    Dernier message: 15/09/2008, 08h32
  3. Problème de mise à jour des données sur un onglet
    Par PenPen_lepingouin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/06/2008, 17h49
  4. [C#][Access]Problème de mise à jour des données
    Par vvvvv dans le forum ASP.NET
    Réponses: 10
    Dernier message: 11/04/2006, 10h43
  5. Problème de mise à jour de données avec IBClientDataset
    Par Papino dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/09/2005, 14h04

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