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 chargement dans une boîte modale


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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut Problème de chargement dans une boîte modale


    Je ne sais pas si c'est lié à ASP.Net ou jQuery ou encore VB.Net donc je poste ici, voici mon problème..

    J'affiche grâce à jQuery une boîte modale qui contient une DropDownList et un DataGrid dont voici le code:
    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
        <div id="dialog-acquittement">
            <asp:UpdatePanel ID="UpdatePanelAcquittements" runat="server">
                <ContentTemplate>
                    <asp:ObjectDataSource ID="odsAcquittements" runat="server" OldValuesParameterFormatString="original_{0}"
                        SelectMethod="GetData" TypeName="SANDRE.DAL.dsDemandeTableAdapters.LISTE_ACQUITTEMENTTableAdapter">
                        <SelectParameters>
                            <asp:ControlParameter ControlID="ddlAnneesAcquittement" Name="P_ANNEE" PropertyName="SelectedValue"
                                Type="String" />
                            <asp:Parameter Direction="InputOutput" Name="P_CUR" Type="Object" />
                        </SelectParameters>
                    </asp:ObjectDataSource>
                    <asp:ObjectDataSource ID="odsAnneesAcquittement" runat="server" OldValuesParameterFormatString="original_{0}"
                        SelectMethod="GetData" TypeName="SANDRE.DAL.dsDemandeTableAdapters.LISTE_ANNEES_ACQUITTEMENTTableAdapter">
                        <SelectParameters>
                            <asp:Parameter Direction="InputOutput" Name="P_CUR" Type="Object" />
                        </SelectParameters>
                    </asp:ObjectDataSource>
                    <br />
                    <asp:DropDownList ID="ddlAnneesAcquittement" runat="server" DataSourceID="odsAnneesAcquittement"
                        DataTextField="ANNEE" DataValueField="ANNEE" AutoPostBack="True">
                    </asp:DropDownList>
                    <br />
                    <br />
                    <asp:Panel ID="PanelAcquittements" runat="server">
                        <asp:DataGrid ID="dgAcquittements" runat="server" DataSourceID="odsAcquittements"
                            AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan"
                            BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
                            <AlternatingItemStyle BackColor="PaleGoldenrod" />
                            <Columns>
                                <asp:TemplateColumn HeaderText="Date demande">
                                    <ItemTemplate>
                                        <asp:Label ID="lblDateDemande" runat="server" Text='<%# Eval("DD") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="Numéro demande">
                                    <ItemTemplate>
                                        <asp:Label ID="lblNumeroDemande" runat="server" Text='<%# Eval("IDC") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="Acquitté">
                                    <ItemTemplate>
                                        <asp:Label ID="lblAcquitte" runat="server" Text='<%# Eval("ACQUITTE") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="Date">
                                    <ItemTemplate>
                                        <asp:Label ID="lblDateAcquitte" runat="server" Text='<%# Eval("DTE") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                            </Columns>
                            <FooterStyle BackColor="Tan" />
                            <HeaderStyle BackColor="Tan" Font-Bold="True" />
                            <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
                            <SelectedItemStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                        </asp:DataGrid>
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    Et le code jQuery attaché:
    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
        <script type="text/javascript" charset="utf-8">
            $(document).ready(function () {
                $("#dialog-acquittement").dialog({
                    autoOpen: false,
                    resizable: false,
                    height: 500,
                    width: 465,
                    modal: true,
                    title: "Liste des acquittements",
                    buttons: {
                        Ok: function () {
                            $(this).dialog("close");
                        }
                    }
                });
     
                $("#ctl00_contenu_lkAcquittement").click(function (event) {
                    event.preventDefault();
                    $("#dialog-acquittement").dialog("open");
                });
            });
        </script>
    Mon problème est simple d'apparence mais je ne sais pas encore comment le régler.. Lorsque je change d'année dans la liste déroulante, rien ne se produit et l'année reviens sur celle qui était sélectionnée au départ. La DropDownList est sur AutoPostback. Quelqu'un aurait-il une piste pour que je puisse mettre à jour les données et afficher la liste des données correctement ?


    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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    J'ai essayé de mettre un Trigger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="ddlAnneesAcquittement" EventName="SelectedIndexChanged" />
                </Triggers>
    Mais cela ne change rien Serait-ce du au fait que le tout se trouve dans une boîte modale jQuery ?!
    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 !

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Lorsque je change d'année dans la liste déroulante, rien ne se produit et l'année reviens sur celle qui était sélectionnée au départ
    C'est donc qu'il se passe quelque chose. Tu dois avoir fait un aller retour serveur sans t'en apercevoir.

    Si la liste déroulante se replace sur sa valeur de départ c'est que tu dois la "re-binder".

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #4
    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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    En fait il se passe des choses effectivement mais pas celles que je souhaiterais. Le programme ré-entre à nouveau dans le Page_Init et Page_LoadComplete où je ne fait strictement aucune action sur la liste déroulante mais par contre, le programme ne passe pas par l'évènement ddlAnneesAcquittement_SelectedIndexChanged
    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 !

  5. #5
    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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Après des tests j'ai déterminé que ça viens du fait que le tout soit transformer dans une boîte modale jQuery. Mon dernier 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
        <div id="dialog-acquittement">
            <asp:ObjectDataSource ID="odsAcquittements" runat="server" OldValuesParameterFormatString="original_{0}"
                SelectMethod="GetData" TypeName="SANDRE.DAL.dsDemandeTableAdapters.LISTE_ACQUITTEMENTTableAdapter">
                <SelectParameters>
                    <asp:ControlParameter ControlID="ddlAnneesAcquittement" Name="P_ANNEE" PropertyName="SelectedValue"
                        Type="String" />
                    <asp:Parameter Direction="InputOutput" Name="P_CUR" Type="Object" />
                </SelectParameters>
            </asp:ObjectDataSource>
            <asp:ObjectDataSource ID="odsAnneesAcquittement" runat="server" OldValuesParameterFormatString="original_{0}"
                SelectMethod="GetData" TypeName="SANDRE.DAL.dsDemandeTableAdapters.LISTE_ANNEES_ACQUITTEMENTTableAdapter">
                <SelectParameters>
                    <asp:Parameter Direction="InputOutput" Name="P_CUR" Type="Object" />
                </SelectParameters>
            </asp:ObjectDataSource>
            <asp:UpdatePanel ID="UpdatePanelAcquittements" runat="server" UpdateMode="Conditional">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="ddlAnneesAcquittement" EventName="SelectedIndexChanged" />
                    <asp:PostBackTrigger ControlID="dgAcquittements" />
                </Triggers>
                <ContentTemplate>
                    <asp:DropDownList ID="ddlAnneesAcquittement" runat="server" DataSourceID="odsAnneesAcquittement"
                        DataTextField="ANNEE" DataValueField="ANNEE" AutoPostBack="True">
                    </asp:DropDownList>
                    <br />
                    <br />
                    <asp:DataGrid ID="dgAcquittements" runat="server" DataSourceID="odsAcquittements"
                        AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan"
                        BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
                        <AlternatingItemStyle BackColor="PaleGoldenrod" />
                        <Columns>
                            <asp:TemplateColumn HeaderText="Date demande">
                                <ItemTemplate>
                                    <asp:Label ID="lblDateDemande" runat="server" Text='<%# Eval("DD") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Numéro demande">
                                <ItemTemplate>
                                    <asp:Label ID="lblNumeroDemande" runat="server" Text='<%# Eval("IDC") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Acquitté">
                                <ItemTemplate>
                                    <asp:Label ID="lblAcquitte" runat="server" Text='<%# Eval("ACQUITTE") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Date">
                                <ItemTemplate>
                                    <asp:Label ID="lblDateAcquitte" runat="server" Text='<%# Eval("DTE") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                        </Columns>
                        <FooterStyle BackColor="Tan" />
                        <HeaderStyle BackColor="Tan" Font-Bold="True" />
                        <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
                        <SelectedItemStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                    </asp:DataGrid>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    Lorsque je ne le transforme pas en dialog ça fonctionne mais sinon le DataGrid ne se met pas à jour
    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 !

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Pas évident de faire cohabiter jQuery et les Webform.

    As-tu essayé la popup modale de l'AjaxControlToolkit: http://www.asp.net/AjaxLibrary/AjaxC...odalPopup.aspx?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  7. #7
    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 : 46
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Pas évident de faire cohabiter jQuery et les Webform.
    Alors c'est déjà un widget qui ne sert presque à rien ! Pour moi si on peut afficher une boîte modale on doit pouvoir tout faire avec sinon aucun intérêt !

    Citation Envoyé par Immobilis Voir le message
    As-tu essayé la popup modale de l'AjaxControlToolkit: http://www.asp.net/AjaxLibrary/AjaxC...odalPopup.aspx?
    Non mais je ne le souhaite pas, j'ai une certaine unicité dans mon application (ou du moins j'essaye d'en avoir une au mieux) niveau design et autre alors je ne veux pas me retrouver avec des modales de toutes les formes, styles et couleurs.
    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. Réponses: 15
    Dernier message: 28/10/2011, 15h45
  2. Problème de chargement d'une listView dans un thread
    Par Jérémy Lefevre dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 12/10/2011, 17h27
  3. Réponses: 0
    Dernier message: 21/09/2010, 16h34
  4. [CSS]problème centrage texte de bouton dans une boîte
    Par Aurelius dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/09/2005, 16h01
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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