Bonjour à tous.
je suis en train de bosser sur un nouveau projet et je débute dans la programmation Web.
Je bosse avec Visual Studio 2010.
Voila je souhaite ouvrir une fenêtre modale. j'ai suivi une doc qui est à l'adresse suivante: http://jpconnexion.free.fr/showmodal...daldialog.html.
J'ai compris le fonctionnement de cet exemple.
Mon problème vient du fait que lorsque j'adapte ce code à mon programme je m'en sors pas.
Je m'explique. Ma fenêtre (FrmNouveauEntete) s'ouvre comme il faut (enfin j'ai l'impression tout du moins).
Lorsque je clique sur le bouton "Annuler" de ma fenêtre modale (FrmNouveauEntete), ma fenêtre ouvre une nouvelle fenêtre.
Idem quand je clique sur le bouton "Enregistrer".
Si quelqu'un pouvait m'aider ça serait sympa. ça me permettrai d'avancer.
je vous mets le code de ma fenêtre principale (FrmFT), la fonction OpenWindow() est lancé depuis le bouton "Nouveau" (lignes 71-72)
Lors de l'ouverture de ma fenetre modale, j'ai le code suivant:
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 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CtlEnteteFT.ascx.cs" Inherits="WebGDT.Controls.CtlEnteteFT" %> <head> <script language="JavaScript"> function openWindow() { var myArguments = new Object(); //ici passage de paramètres sous la forme objet myArguments.param1 = "2013"; var sFeatures = "dialogHeight:300px;dialogWidth:300px;unadorned:yes;status:no;center:yes;edge:sunken ;scroll:no"; var retour = window.showModalDialog("/FrmNouveauEntete.aspx", myArguments, sFeatures); // alert("valeur en retour de la fenêtre appelée: " + retour); //pour visualisation seulement } </script> </head> <body> <form id="formEntete"> <asp:Panel ID="PanelArticle" runat="server" GroupingText="Article" Direction="LeftToRight" Width="25%"> <div> <div> <div style="float: left"> <asp:Label ID="lblArticle" runat="server" Text="Article"></asp:Label> </div> <div style="float: right"> <asp:TextBox ID="txtArticle" runat="server" MaxLength="4"></asp:TextBox> </div> </div> <br /> <asp:Button ID="btnRechercher" runat="server" Text="Rechercher" OnClick="btnRechercher_Click" Style="height: 26px" /> </div> </asp:Panel> <asp:Panel ID="PanelListeFT" runat="server" GroupingText="Entête FT" Direction="LeftToRight" Width="100%"> <div> <div> <asp:GridView ID="gv_entete" runat="server" AutoPostBack="true" DataSourceID="sdsListeEntete" OnSelectedIndexChanged="gv_entete_SelectedIndexChanged" SelectedIndex="0" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" AutoGenerateColumns="False"> <Columns> <asp:CommandField ShowSelectButton="True" /> <asp:BoundField DataField="ID_ENTETE_FT" HeaderText="Entête" SortExpression="ID_ENTETE_FT" /> <asp:BoundField DataField="ID_ARTICLE_ENTETE_FT" HeaderText="ID_ARTICLE_ENTETE_FT" SortExpression="ID_ARTICLE_ENTETE_FT" Visible="False" /> <asp:BoundField DataField="INDICE_ENTETE_FT" HeaderText="INDICE_ENTETE_FT" SortExpression="INDICE_ENTETE_FT" Visible="False" /> <asp:BoundField DataField="EDITION_ENTETE_FT" HeaderText="EDITION_ENTETE_FT" SortExpression="EDITION_ENTETE_FT" Visible="False" /> <asp:BoundField DataField="MINI_ENTETE_FT" HeaderText="Temps mini" SortExpression="MINI_ENTETE_FT" /> <asp:BoundField DataField="MAXI_ENTETE_FT" HeaderText="Temps maxi" SortExpression="MAXI_ENTETE_FT" /> <asp:BoundField DataField="DATE_REFERER" HeaderText="Date" SortExpression="DATE_REFERER" /> <asp:CommandField ShowEditButton="True" /> <asp:CommandField ShowDeleteButton="True" /> </Columns> <FooterStyle BackColor="White" ForeColor="#000066" /> <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" /> <RowStyle ForeColor="#000066" /> <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" /> <SortedAscendingCellStyle BackColor="#F1F1F1" /> <SortedAscendingHeaderStyle BackColor="#007DBB" /> <SortedDescendingCellStyle BackColor="#CAC9C9" /> <SortedDescendingHeaderStyle BackColor="#00547E" /> </asp:GridView> <asp:SqlDataSource ID="sdsListeEntete" runat="server" ConnectionString="<%$ ConnectionStrings:PCCConnectionStringBDD %>" ProviderName="<%$ ConnectionStrings:PCCConnectionStringBDD.ProviderName %>" SelectCommand="SELECT ADMIN.ENTETE_FT.ID_ENTETE_FT, ADMIN.ENTETE_FT.ID_ARTICLE_ENTETE_FT, ADMIN.ENTETE_FT.INDICE_ENTETE_FT, ADMIN.ENTETE_FT.EDITION_ENTETE_FT, ADMIN.ENTETE_FT.MINI_ENTETE_FT, ADMIN.ENTETE_FT.MAXI_ENTETE_FT, ADMIN.REFERER.DATE_REFERER FROM ADMIN.ENTETE_FT, ADMIN.ARTICLE, ADMIN.REFERER WHERE (ARTICLE.ID_ARTICLE = :monArticle) AND (ENTETE_FT.ID_ENTETE_FT = REFERER.ID_ENTETE_FT_REFERER) AND (ARTICLE.ID_ARTICLE = REFERER.ID_ARTICLE_REFERER) ORDER BY ADMIN.REFERER.DATE_REFERER DESC" UpdateCommand=""></asp:SqlDataSource> <div> <div style="float: left"> <button onClick="openWindow();"> Nouveau</button> </div> </div> </div> </div> </asp:Panel> </form> </body> </html>
Lorsque je clique sur Enregistrer ou Annuler, une nouvelle fenêtre s'ouvre, je ne comprends pas pourquoi.
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 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FrmNouveauEntete.aspx.cs" Inherits="WebGDT.FrmNouveauEntete" Title="PCC France - GDT" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <script language="JavaScript"> var reception = window.dialogArguments; function fermerFenetre() { window.returnValue = false; window.close(); } function enregistrerNouveau() { var monEnteteRetour = new Object; monEnteteRetour.Id_Article = reception.param1; monEnteteRetour.Indice = window.document.forms['formModal'].elements['txtIndice'].value; monEnteteRetour.Edition = window.document.forms['formModal'].elements['txtEdition'].value; window.returnValue= monEnteteRetour; window.close(); } </script> </head> <body> <form id="formModal" runat="server"> <div style="float: left"> <div style="clear: both; float: left"> <asp:Label ID="lblArticle" runat="server" Text="Article"></asp:Label></div> <div style="float: right"> <asp:Label ID="lblNumeroArticle" runat="server"></asp:Label></div> </div> <div style="clear: both; float: left"> <div style="clear: both; float: left"> <asp:Label ID="lblIndice" runat="server" Text="Indice"></asp:Label></div> <div style="float: right"> <asp:TextBox ID="txtIndice" runat="server"></asp:TextBox></div> </div> <div style="clear: both; float: left"> <div style="clear: both; float: left"> <asp:Label ID="lblEdition" runat="server" Text="Edition"></asp:Label></div> <div style="float: right"> <asp:TextBox ID="txtEdition" runat="server"></asp:TextBox></div> </div> <div style="clear: both; float: left"> <div> <button onclick="fermerFenetre();"> Annuler</button> <button onclick="enregistrerNouveau();"> Enregistrer</button> </div> </div> </form> </body> </html>
De plus je souhaiterai que lorsque je clique sur Enregistrer, après la fermeture de ma fenetre (FrmNouveauEntete), ma page principale (FrmFT) s'actualise afin d'ajouter les données saisies dans la fenêtre modale.
Je souhaiterai également que dans mon label "lblNumeroArticle" (ligne 33) je puisse récupérer la valeur du paramètre passé en paramètre.
Merci d'avance pour votre aide.
Sophie
Partager