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 :

Les UpdatePanel et les appels vers VB


Sujet :

ASP.NET

  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut Les UpdatePanel et les appels vers VB


    Encore et toujours des problèmes avec les UpdatePanel d'ASP.Net

    J'utilise des onglets jQuery et j'ai trouvé comme seul moyen lors du rafraîchissement de la page d'y adjoindre des UpdatePanel, de cette manière je reste sur l'onglet courant car si je ne met pas d'UP bin ça me rafraîchit la page mais ça me renvoi sur le premier onglet. Dans ce UP, j'ai un DataGrid qui contient des colonnes de boutons pour faire certaines actions. Mon problème par exemple, lorsque j'ajoute un enregistrement dans mon DG, ça fonctionne, mais que pour le premier enregistrement, pour les autres ça ne fonctionne plus, il n'appelle pas ma procédure VB, rien.

    Voici mon code ASP.Net:
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    <div id="tab-types-cultures" class="div_hauteur">
        <asp:UpdatePanel runat="server" ID="UpdatePanelCultures" UpdateMode="Conditional">
            <ContentTemplate>
                <div class="msg_saisie">
                    <asp:Label ID="lblMsg" runat="server"></asp:Label>
                </div>
                <br />
                <asp:DataGrid ID="dgListeCultures" runat="server" AutoGenerateColumns="False" CssClass="dg"
                    DataSourceID="odsListeCultures" HorizontalAlign="Center">
                    <AlternatingItemStyle CssClass="dg-alternative-style" />
                    <Columns>
                        <asp:TemplateColumn HeaderText="Culture">
                            <EditItemTemplate>
                                <asp:DropDownList ID="ddlCultureEdition" runat="server" DataSourceID="odsTypeCultures"
                                    DataTextField="LIB" DataValueField="ID_CULTURE">
                                </asp:DropDownList>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:DropDownList ID="ddlCultureAjout" runat="server" DataSourceID="odsTypeCultures"
                                    DataTextField="LIB" DataValueField="ID_CULTURE">
                                </asp:DropDownList>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblCulture" runat="server" Text='<%# Eval("ID_CULTURE") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateColumn>
                        <asp:TemplateColumn HeaderText="Rendement">
                            <EditItemTemplate>
                                <asp:TextBox ID="txtRendementEdition" runat="server" Width="50px"></asp:TextBox>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:TextBox ID="txtRendementAjout" runat="server" Width="50px"></asp:TextBox>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblRendement" runat="server" Text='<%# Eval("RENDEMENT") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateColumn>
                        <asp:TemplateColumn HeaderText="Résidus">
                            <EditItemTemplate>
                                <asp:DropDownList ID="ddlTypeResidus" runat="server" DataSourceID="odsTypeResidus"
                                    DataTextField="LIB" DataValueField="ID_RESIDUS">
                                </asp:DropDownList>
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:DropDownList ID="ddlResidusAjout" runat="server" DataSourceID="odsTypeResidus"
                                    DataTextField="LIB" DataValueField="ID_RESIDUS">
                                </asp:DropDownList>
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblResidus" runat="server" Text='<%# Eval("RESIDUS") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateColumn>
                        <asp:TemplateColumn HeaderText="Irrigation">
                            <EditItemTemplate>
                                <asp:CheckBox ID="chkIrrigationEdition" runat="server" />
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:CheckBox ID="chkIrrigationAjout" runat="server" />
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lblIrrigation" runat="server"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateColumn>
                        <asp:TemplateColumn>
                            <EditItemTemplate>
                                <asp:ImageButton ID="btnCultureAnnulerEdition" runat="server" ImageUrl="~/IMAGES/annuler.png"
                                    CssClass="ib" OnClick="btnCultureAnnulerEdition_Click" OnClientClick="confirmAnnuler('modif', 'annuler les modifications ?')" />
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:ImageButton ID="btnCultureEdition" runat="server" ImageUrl="~/IMAGES/edition.png"
                                    CssClass="ib" OnClick="btnCultureEdition_Click" />
                            </ItemTemplate>
                        </asp:TemplateColumn>
                        <asp:TemplateColumn>
                            <EditItemTemplate>
                                <asp:ImageButton ID="btnCultureValiderEdition" runat="server" Height="16px" ImageUrl="~/IMAGES/valider.png"
                                    CssClass="ib" OnClick="btnCultureValiderEdition_Click" OnClientClick="verifSaisieCulture('modif')" />
                            </EditItemTemplate>
                            <FooterTemplate>
                                <asp:ImageButton ID="btnCultureAjout" runat="server" ImageUrl="~/IMAGES/enregistrer.png"
                                    CssClass="ib" OnClick="btnCultureAjout_Click" OnClientClick="verifSaisieCulture('ajout')" />
                            </FooterTemplate>
                            <ItemTemplate>
                                <asp:ImageButton ID="btnCultureSuppression" runat="server" ImageUrl="~/IMAGES/supprimer.png"
                                    CssClass="ib" OnClick="btnCultureSuppression_Click" OnClientClick="confirmAnnuler('suppr', 'supprimer cette culture ?')" />
                            </ItemTemplate>
                        </asp:TemplateColumn>
                    </Columns>
                    <FooterStyle CssClass="dg-footer" />
                    <HeaderStyle CssClass="dg-header" />
                    <ItemStyle CssClass="dg-rows" />
                </asp:DataGrid>
                <asp:ObjectDataSource ID="odsListeCultures" runat="server" OldValuesParameterFormatString="original_{0}"
                    SelectMethod="GetDataByIDExploitation" TypeName="SANDRE.DAL.dsAgriculteursTableAdapters.T_LISTE_CULTURETableAdapter">
                    <SelectParameters>
                        <asp:SessionParameter Name="pIDExploitation" SessionField="__idexploitation__" Type="String" />
                    </SelectParameters>
                </asp:ObjectDataSource>
                <asp:ObjectDataSource ID="odsTypeCultures" runat="server" DeleteMethod="Delete" InsertMethod="Insert"
                    OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="SANDRE.DAL.dsAgriculteursTableAdapters.T_TYPE_CULTURETableAdapter"
                    UpdateMethod="Update">
                    <DeleteParameters>
                        <asp:Parameter Name="Original_ID_CULTURE" Type="String" />
                        <asp:Parameter Name="Original_LIB" Type="String" />
                        <asp:Parameter Name="Original_DTE_CREATION" Type="DateTime" />
                        <asp:Parameter Name="Original_DTE_MAJ" Type="DateTime" />
                    </DeleteParameters>
                    <InsertParameters>
                        <asp:Parameter Name="ID_CULTURE" Type="String" />
                        <asp:Parameter Name="_LIB" Type="String" />
                        <asp:Parameter Name="DTE_CREATION" Type="DateTime" />
                        <asp:Parameter Name="DTE_MAJ" Type="DateTime" />
                    </InsertParameters>
                    <UpdateParameters>
                        <asp:Parameter Name="_LIB" Type="String" />
                        <asp:Parameter Name="DTE_MAJ" Type="DateTime" />
                        <asp:Parameter Name="Original_ID_CULTURE" Type="String" />
                        <asp:Parameter Name="Original_LIB" Type="String" />
                        <asp:Parameter Name="Original_DTE_CREATION" Type="DateTime" />
                        <asp:Parameter Name="Original_DTE_MAJ" Type="DateTime" />
                    </UpdateParameters>
                </asp:ObjectDataSource>
                <asp:ObjectDataSource ID="odsTypeResidus" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
                    SelectMethod="GetData" TypeName="SANDRE.DAL.dsAgriculteursTableAdapters.T_TYPE_RESIDUSTableAdapter">
                    <InsertParameters>
                        <asp:Parameter Name="ID_RESIDUS" Type="Decimal" />
                        <asp:Parameter Name="_LIB" Type="String" />
                    </InsertParameters>
                </asp:ObjectDataSource>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    J'aurais bien essayé avec les Triggers mais le hic c'est que mes boutons ne sont pas visible jusqu'ici
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    En fait, mon problème était surtout dû au fait que je fait des tests de saisies en JavaScript et je créé dynamiquement un HiddenField que je rempli avec une valeur, pour savoir en VB s'il faut continuer dans la procédure ou bien non en cas d'erreur de saisie. La valeur que je mettais dans mon HiddenField se concaténais avec les anciennes valeur (string)

    Toutefois si quelqu'un à une meilleure astuce je suis preneur

    Mon code VB corrigé au passage:
    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
        Protected Sub btnCultureAjout_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs)
            Dim _ds As New dsAgriculteurs
            Dim _query As New dsAgriculteursTableAdapters.QueriesTableAdapter
            Dim hfCulture As String = Request.Form("hfCulture")
     
            If hfCulture.Contains("true") Then
                With dgListeCultures
                    Dim count As Integer = .Controls(0).Controls.Count
                    Dim item As DataGridItem = .Controls(0).Controls(count - 1)
                    Dim val As Integer = 0
     
                    If CType(item.Cells(3).Controls(0).FindControl("chkIrrigationAjout"), CheckBox).Checked = True Then
                        val = 1
                    Else
                        val = 0
                    End If
     
                    Try
                        _query.ProcAjoutCulture(
                            CType(item.Cells(0).Controls(0).FindControl("ddlCultureAjout"), DropDownList).SelectedValue,
                            PropIDExploitation,
                            Convert.ToDecimal(CType(item.Cells(1).Controls(0).FindControl("txtRendementAjout"), TextBox).Text),
                            Convert.ToDecimal(CType(item.Cells(2).Controls(0).FindControl("ddlResidusAjout"), DropDownList).SelectedValue),
                            val)
     
                        dgListeCultures.DataBind()
                    Catch ex As System.Exception
                        lblMsg.Text = ex.Message
                    End Try
                End With
            End If
        End Sub
    Avant je faisait If hfCulture = "true" donc c'est sûr au bout du second enregistrement ça passait moins bien car mon hidden contenait "true,true"
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. [XL-2003] Avec VBA, copier les formats et les valeurs d'une feuille vers une autre.
    Par mormic dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2014, 19h17
  2. Réponses: 4
    Dernier message: 11/09/2006, 16h55
  3. Les polices dans les tables et les requêts
    Par zooffy dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 11h06

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