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 :

[C#][2.0] Traitement de Formulaire (Insert / Update)


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 41
    Par défaut [C#][2.0] Traitement de Formulaire (Insert / Update)
    Bonjour,

    Je débute en ASP.NET depuis une bonne semaine.

    J'ai une table dans une base de données avec laquelle je veux effectuer divers traitement depuis mon application web.

    Le problème se situe au niveau de la gestion des formulaires.

    Concretement j'ai deux formulaires différents, un pour l'ajout, un pour la modification des données. Je les ai mis chacun dans une View.

    Dans la View1, ajout des données avec un champs texte et 2 boutons Annuler et Ajouter:
    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
     
     <asp:Table ID="Table1" runat="server" Height="27px" Width="550px" HorizontalAlign="Center">
                  <asp:TableRow ID="TableRow6" runat="server">
                        <asp:TableCell ID="TableCell11" runat="server" Width="25%">Texte :&nbsp;<img
                    src="img/image.gif" alt="image" /></asp:TableCell>
                        <asp:TableCell ID="TableCell12" runat="server" Width="75%">
                            <asp:TextBox ID="Texte" runat="server" Width="100%" Height="120" TextMode="MultiLine"></asp:TextBox>
                        </asp:TableCell>
                    </asp:TableRow>
                    <asp:TableRow ID="TableRowButton" runat="server">
                        <asp:TableCell ID="TableCellButton1" ColumnSpan="2" runat="server" Width="25%" HorizontalAlign="Center">
                            <asp:Button ID="Button_Annuler" runat="server" Text="Annuler" OnClick="Button_Annuler_Click"
                                CausesValidation="false" />&nbsp;&nbsp;&nbsp;
                            <asp:Button ID="Button_Ajouter" runat="server" Text="Ajouter" OnClick="Button_Ajouter_Click" />
                        </asp:TableCell>
                    </asp:TableRow>
    </asp:Table>
    Dans la View2, modif des données avec un champs texte et 2 boutons Annuler et Modifier:
    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
     
     <asp:Table ID="Table2" runat="server" Height="27px" Width="550px" HorizontalAlign="Center">
                  <asp:TableRow ID="TableRow6" runat="server">
                        <asp:TableCell ID="TableCell11" runat="server" Width="25%">Texte :&nbsp;<img
                    src="img/image.gif" alt="image" /></asp:TableCell>
                        <asp:TableCell ID="TableCell12" runat="server" Width="75%">
                            <asp:TextBox ID="TexteMAJ" runat="server" Width="100%" Height="120" TextMode="MultiLine">valeur dela base de donnée</asp:TextBox>
                        </asp:TableCell>
                    </asp:TableRow>
                    <asp:TableRow ID="TableRowButton" runat="server">
                        <asp:TableCell ID="TableCellButton1" ColumnSpan="2" runat="server" Width="25%" HorizontalAlign="Center">
                             <asp:Button ID="Button1" runat="server" Text="Annuler" OnClick="Button_Annuler_Click"
                                CausesValidation="false" />&nbsp;&nbsp;&nbsp;
                            <asp:Button ID="Button2" runat="server" Text="Modifier " OnClick="Button_Modifier_Click" UseSubmitBehavior="true" />
                        </asp:TableCell>
                    </asp:TableRow>
    </asp:Table>

    Ensuite j'effectue directement les traitement dans les evenements Onclick:
    protected void Button_Ajouter_Click(object sender, EventArgs e)
    {
    if (Page.IsValid)
    {
    //Mon traitement qui marche
    }
    }

    protected void Button_Modifier_Click(object sender, EventArgs e)
    {
    if (Page.IsValid)
    {
    //Mon traitement qui marche pas
    //TexteMAJ.Text ne prend pas la valeur modifier par l'internaute lors de la nouvelle saisie
    }
    }

    protected void Button_Annuler_Click(object sender, EventArgs e)
    {
    Response.Redirect("mapage.aspx");
    }
    Au final, mon problème c'est juste lors de la modification des données. Il garde tout le temps la valeur initial de lors du chargement du formulaire dans TexteMAJ.text et ne prend pas les modification de saisie faite dans le formulaire....

    A quoi cela est-il dû ?
    Peut-être j'utilise mal la gestion des evenement OnClick ??

    Merci d'avance.

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    tu as un composant qui s'appelle detailView qui te permet de faire bcp de choses..

    penche toi sur ce composant...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 41
    Par défaut
    Citation Envoyé par bossun
    tu as un composant qui s'appelle detailView qui te permet de faire bcp de choses..

    penche toi sur ce composant...
    Merci je vais aller regarder.

    Par contre, avec ce composant, puis-je exécuter des procédures stockées pour mes requetes d'ajout, modification et suppression ?

  4. #4
    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 un pb de PostBack non?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 41
    Par défaut
    Citation Envoyé par lutecefalco
    A mon avis, c'est un pb de PostBack non?
    Tu peux m'en dire plus stp
    C'est bizarre qu'il ne prenne pas en compte les nouvelles saisies de l'utilisateur lors du Onclick...

  6. #6
    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
    Qd tu cliques sur ton bouton Modifier, ta page est rechargée. Donc si tu remplis les données de l'utilisateur dans le OnLoad de ta page, c'est ces données là qui vont être rentrées dans ta base d'où la non mise à jour.

    Pour ne pas executer un code dans le OnLoad suite à clic sur un bouton (PostBack), faut le mettre à l'intérieur de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsPostBack Then
    ...
    End if

  7. #7
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Par contre, avec ce composant, puis-je exécuter des procédures stockées pour mes requetes d'ajout, modification et suppression ?
    ben ces composants fonctionnent avec un fournisseur de données... SQLDataSource ou ObjectDataSource.

    ces deux composants gèrent très bien les procédure stockées...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 41
    Par défaut
    Citation Envoyé par lutecefalco
    Qd tu cliques sur ton bouton Modifier, ta page est rechargée. Donc si tu remplis les données de l'utilisateur dans le OnLoad de ta page, c'est ces données là qui vont être rentrées dans ta base d'où la non mise à jour.

    Pour ne pas executer un code dans le OnLoad suite à clic sur un bouton (PostBack), faut le mettre à l'intérieur de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsPostBack Then
    ...
    End if
    Merci beaucoup.
    J'ai réussir à résoudre mon problème avec le "IsPostBack ".

    Je commence à mieux comprendre le fonctionnement maintenant...

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

Discussions similaires

  1. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38
  2. erreur de formulaire, insertion BD
    Par bachilbouzouk dans le forum ASP
    Réponses: 7
    Dernier message: 12/04/2005, 08h22
  3. Réponses: 4
    Dernier message: 05/04/2005, 18h28
  4. Redirect de la page après un insert/update/delete
    Par mchicoix dans le forum XMLRAD
    Réponses: 5
    Dernier message: 25/02/2005, 09h31
  5. [Info] Insert/Update si problèmes divers
    Par portu dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/07/2004, 10h17

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