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 :

Ajax tous mes triggers se declanche en même temps


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Points : 70
    Points
    70
    Par défaut Ajax tous mes triggers se declanche en même temps
    Bonjour
    J'ai commencé un projet asp ajax et j'ai un problémé que voici:
    Jai mis une gridview dans un updatepanel et j'ai créé dynamiqquement deux triggers. Une pour insérer et une autre pour supprimer. Mais les deux événemens se déclanche à la fois du coup à chaque insertion je perds la première ligne de ma gridview.
    Voici un peu de code pour vous donner une idée:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                <ContentTemplate>
            <asp:SqlDataSource ID="sdsMarche" runat="server" ConnectionString="<%$ ConnectionStrings:cnsEcheance %>"
                SelectCommand="SELECT * FROM [tblMarche]"></asp:SqlDataSource>
            <asp:GridView ID="grvMarche" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                BorderColor="#7EACB1" DataSourceID="sdsMarche" ShowFooter="True" BorderStyle="Solid" BorderWidth="1px">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:ImageButton ID="imgSupp" runat="server" ImageUrl="~/images/IconeSupp.gif" OnClick="imgSupp_Click" />
                            <asp:HiddenField ID="hdfNumMarche" runat="server" Value='<%# Eval("NumMarche") %>' />
                        </ItemTemplate>
                        <FooterTemplate><asp:Image ID="imgSupp" runat="server" ImageUrl="~/images/icon_annule.gif" style="cursor: hand" />
                            <asp:HiddenField ID="hdfNumMarche" runat="server" Value='-1' />
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Nom" SortExpression="Nom">
                        <FooterTemplate>
                            <asp:TextBox ID="txtCode" runat="server" Width="72px" BackColor="Transparent" BorderStyle="None"></asp:TextBox>&nbsp;
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:TextBox ID="txtCode" runat="server" Text='<%# Bind("Nom") %>' Width="72px" BackColor="Transparent" BorderStyle="None"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Localisation" SortExpression="Localisation">
                        <EditItemTemplate>
                            &nbsp;
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:TextBox ID="txtLib" runat="server" Text='<%# Bind("Localisation") %>' Width="320px" BackColor="Transparent" BorderStyle="None"></asp:TextBox>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtLib" runat="server" Width="320px" BackColor="Transparent" BorderStyle="None" OnTextChanged="txtLib_TextChanged"></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                </Columns>
                <RowStyle BorderStyle="Double" BorderColor="#C2D8DA" BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" />
                <EmptyDataTemplate>
                    <table cellpadding="0" cellspacing="0" style="width: 1px; height: 1px;">
                        <tr>
                            <td class="grvHeader" headers="th_Code" style="width: 2730px; height: 34px">
                            </td>
                            <td class="grvHeader" style="width: 42px; height: 34px" headers="th_Code">
                                Code</td>
                            <td class="grvHeader" style="height: 34px" headers="th_Etat">
                                Etat</td>
                        </tr>
                        <tr>
                            <td class="grvLingne" style="width: 2730px; height: 3px" valign="top">
                                <asp:Image ID="imgSupp" runat="server" ImageUrl="~/images/icon_annule.gif" style="cursor: hand" /></td>
                            <td class="grvLingne" style="width: 42px; height: 3px;" valign="top">
                                <asp:HiddenField ID="hdfNumMarche" runat="server" Value="-1" />
                                <asp:TextBox ID="txtCode" runat="server" Width="72px" BackColor="Transparent" BorderStyle="None"></asp:TextBox>
                    </td>
                            <td class="grvLingne" style="height: 3px" valign="top">
                                <asp:TextBox ID="txtLib" runat="server" Width="320px" BackColor="Transparent" BorderStyle="None"></asp:TextBox></td>
                        </tr>
                    </table>
                </EmptyDataTemplate>
                <HeaderStyle CssClass="grvHeader" HorizontalAlign="Center" VerticalAlign="Middle" BorderStyle="Solid" Font-Bold="False" />
                <FooterStyle BorderColor="#C2D8DA" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center"
                    VerticalAlign="Middle" />
                <PagerStyle CssClass="grvHeader" />
            </asp:GridView>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="ScriptManager1" EventName="ResolveScriptReference" />
                </Triggers>
            </asp:UpdatePanel>
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
      Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grvMarche.RowDataBound
            Dim trigger As AsyncPostBackTrigger = New AsyncPostBackTrigger()
     
            If (e.Row.RowType = DataControlRowType.Footer) Or (e.Row.RowType = DataControlRowType.EmptyDataRow) Then
                Dim txtLib As TextBox = CType(e.Row.FindControl("txtLib"), TextBox)
                trigger.ControlID = txtLib.UniqueID
                trigger.EventName = "TextChanged"
                UpdatePanel1.Triggers.Add(trigger)
            End If
     
            If (e.Row.RowType = DataControlRowType.DataRow) Then
                Dim txtCode As TextBox = CType(e.Row.FindControl("txtCode"), TextBox)
                Dim txtLib As TextBox = CType(e.Row.FindControl("txtLib"), TextBox)
                Dim imgSupp As ImageButton = CType(e.Row.FindControl("imgSupp"), ImageButton)
                txtCode.Attributes.Add("onkeyup", "Enregistrement('SaveMarche.aspx',document.getElementById('" & e.Row.ClientID & "'));")
                txtLib.Attributes.Add("onkeyup", "Enregistrement('SaveMarche.aspx',document.getElementById('" & e.Row.ClientID & "'));")
                trigger.ControlID = imgSupp.UniqueID
                trigger.EventName = "Click"
                'UpdatePanel1.Triggers.Add(trigger)
            End If
        End Sub
     
        Protected Sub imgSupp_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
            Dim da As New dstParametreTableAdapters.QueriesTableAdapter
            Dim img As ImageButton = sender
            Dim rw As GridViewRow = DirectCast(img.NamingContainer, GridViewRow)
            Dim vNum As Integer = CInt(CType(rw.FindControl("hdfNumMarche"), HiddenField).Value)
            da.qsuppMarche(vNum)
            grvMarche.DataBind()
            UpdatePanel1.Update()
        End Sub
     
        Protected Sub txtLib_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim da As New dstParametreTableAdapters.QueriesTableAdapter
            Dim txt As TextBox = sender
            Dim rw As GridViewRow = DirectCast(txt.NamingContainer, GridViewRow)
            Dim vNom As String = CType(rw.FindControl("txtCode"), TextBox).Text
            Dim vlocalisation As String = CType(rw.FindControl("txtLib"), TextBox).Text
            da.qappMarche(vNom, vlocalisation)
            grvMarche.DataBind()
            UpdatePanel1.Update()
        End Sub
    C'est à ne rien comprendre.
    Je compte sur vous.

  2. #2
    Membre régulier Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Points : 70
    Points
    70
    Par défaut
    En fait j'ai eu un début de reponse. J'ai mis des textbox dans mon itemtemplate pour pouvoir faire des modif directes sans pour autant passer par la edittemplate. Toutes les fois que j'appuie sur entrée sur un texbox entraine le lancement de mon module de suppression et une suppression de la 1ere ligne visible de mon objet gridview. Hilfe....

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Je comprends pas l'intérêt des triggers dans ton cas

  4. #4
    Membre régulier Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Je comprends pas l'intérêt des triggers dans ton cas
    Je suis nouveau avec Ajax. donc je fais avec ce ke je trouve. Fais des suggestions.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/12/2012, 08h24
  2. Tous mes contrôles AJAX ne sont pas pris en charge
    Par paolo2002 dans le forum ASP.NET Ajax
    Réponses: 3
    Dernier message: 03/04/2012, 15h08
  3. Tous mes boutons s'activent en même temps.
    Par 71jayjay71 dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2009, 18h36
  4. même sous-domaine pour tous mes domaines
    Par nabab dans le forum Apache
    Réponses: 1
    Dernier message: 24/06/2008, 19h37
  5. Réponses: 0
    Dernier message: 23/12/2007, 14h24

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