Bonjour,
Je rencontre un probleme avec un modalpopup extender : je veux provoquer la mise à jour de données de la page qui declenche la modalpopup extender sans recharger la page
code de la page
voila le code behind
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:Content ContentPlaceHolderID="ContenuPrincipal" runat="server" ID="ContenuPageTest"> <script type="text/javascript"> function onOk() { document.getElementById("btnOk").click(); } </script> <asp:ScriptManager ID="smMaPage" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="upMaPage" runat="server" UpdateMode="Conditional"> <ContentTemplate> <div> <link rel="stylesheet" type="text/css" href="CssTest.css"> <asp:Button ID="btnSort" runat="server" Text="trier par prix" onclick="btnSort_Click" /> <asp:Button ID="btnFilter" runat="server" Text="filtrer" /> <table ID="monTableau" runat="server" > </table> <asp:Panel ID="Panel1" runat="server" style="display:none"> <table> <tr> <td> <asp:RadioButton ID="rbSup" runat="server" GroupName="groupe1" Text="Afficher les produits dont le prix >300 euros" /> </td> </tr> <tr> <td> <asp:RadioButton ID="rbInf" runat="server" GroupName="groupe1" Text="Afficher les produits dont le prix > 200 euros" /> </td> </tr> <tr> <td> <asp:Button ID="btnOk" runat="server" onClick="btnOk_Click" Text="OK" /> </td> <td> <asp:Button ID="btnCancel" runat="server" Text="Cancel" /> </td> </tr> </table> </asp:Panel> <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnFilter" PopupControlID="Panel1" BackgroundCssClass="modalBackground" OkControlID="btnOk" OnOkScript="onOk()" CancelControlID="btnCancel" > </cc1:ModalPopupExtender> </div> </ContentTemplate> </asp:UpdatePanel> </asp:Content>
la mise à jour se fait bien mais avec un chargement de la page et c'est ce que je veux éviter .
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 using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using TestdotNetDll; using System.Data.SqlClient; using System.Collections.Generic; public partial class _Default : System.Web.UI.Page { List<Produit> listeProduit = new List<Produit>(); Categorie c = new Categorie(); protected void Page_Load(object sender, EventArgs e) { listeProduit = c.GetProducts(); BuildTable(); } protected void btnSort_Click(object sender, EventArgs e) { listeProduit.Sort(new ProductPriceComparer()); BuildTable(); } protected void btnOk_Click(object sender, EventArgs e) { if (rbSup.Checked) listeProduit = c.GetProducts(300); if(rbInf.Checked) listeProduit = c.GetProducts(200); listeProduit.Sort(new ProductPriceComparer()); BuildTable(); } protected void BuildTable() { monTableau.Rows.Clear(); HtmlTableRow ligneTitre = new HtmlTableRow(); HtmlTableCell caseTitre1 = new HtmlTableCell(); HtmlTableCell caseTitre2 = new HtmlTableCell(); caseTitre1.InnerHtml = "Nom"; caseTitre2.InnerHtml = "Prix"; ligneTitre.Cells.Add(caseTitre1); ligneTitre.Cells.Add(caseTitre2); monTableau.Rows.Add(ligneTitre); foreach (Produit p in listeProduit) { HtmlTableRow Maligne = new HtmlTableRow(); HtmlTableCell maCase = new HtmlTableCell(); HtmlTableCell maCase2 = new HtmlTableCell(); maCase.Width = "50%"; maCase.InnerHtml = p.Nom; maCase2.Width = "50%"; maCase2.InnerHtml = p.Prix.ToString(); Maligne.Cells.Add(maCase); Maligne.Cells.Add(maCase2); monTableau.Rows.Add(Maligne); } upMaPage.Update(); } }
Merci d'avance
Partager