Bonjour,

J'ai un problème que je n'arrive pas à résoudre, je m'en remets donc à vos idées

Alors j'utilise des controls AjaxControlToolkit dans ma page Asp (VS 2005, Fmk 2.0) pour gérer des onglets.Pour cela j'utilise les objets TabContainer et TabPanel.

Cela fonctionne bien mais je voulais faire en sorte que lorsque j'ai un postback, je reste sur le panel en cours (et non pas revenir sur le premier onglet (PS : panel = onglet pour moi ici ^^).

J'ai donc cherché sur internet une méthode me permettant de le faire et j'ai trouvé, mais lorsque je le lance je n'ai plus rien qui fonctionne. Je vous mets le message d'erreur que j'ai après 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
...
<head id="Head1" runat="server">
    <script type="text/javascript" language="javascript">
      var current_index = -1;
      function saveCurrentTabIndex() {
        var tabcontainer = $get('<%= Tabs.ClientID %>').control;
        if (tabcontainer != null) {
          current_index = tabcontainer.get_activeTabIndex();
        }
      }
      function restoreCurrentTabIndex() {
        if (current_index > -1) {
          var tabcontainer = $get('<%= Tabs.ClientID %>').control;
          var index = tabcontainer.get_activeTabIndex();
          if (index != current_index) {
            tabcontainer.set_activeTabIndex( current_index);
          }
        }
      }
    </script>
</head>
<body>
    <form id="formAdmin" runat="server">
        <table width="100%">
            <tr>
                ...
            </tr>
            <tr>
                <td class="tvAdmin" valign="top">
                    <div title="Administration globale" style="overflow:scroll">
                        ... //Un treeview
                    </div>
                </td>
                <td id="cntPlaceHolderWelcome" class="cntPlaceHolderCentral" runat="server" valign="top" visible="true">
                    <asp:contentplaceholder id="ContentPlaceHolderWelcome" runat="server" EnableViewState="true">
                    </asp:contentplaceholder>
                </td>
                <td id="cntPlaceHolderError" class="cntPlaceHolderError" runat="server" valign="top" visible="true">
                    <asp:contentplaceholder id="ContentPlaceHolderError" runat="server" EnableViewState="true">
                    </asp:contentplaceholder>
                </td>
                <td id="cntPlaceHolderCentral" class="cntPlaceHolderCentral" runat="server" valign="top" visible="true">
                    <ajaxToolkit:ToolkitScriptManager runat="Server" EnableScriptGlobalization="true" EnableScriptLocalization="true" ID="ScriptManager" CombineScriptsHandlerUrl="~/CombineScriptsHandler.ashx" />
                    <ajaxToolkit:TabContainer runat="server" ID="Tabs" ActiveTabIndex="0" OnClientActiveTabChanged="restoreCurrentTabIndex" ScrollBars="None">
                        <ajaxToolkit:TabPanel runat="server" ID="PnlMainPage" OnClientClick="saveCurrentTabIndex" HeaderText="Page principale">
                            <ContentTemplate>
                                <div style="overflow:scroll; height:600px">
                                    <asp:contentplaceholder id="ContentPlaceHolderCentral" runat="server" EnableViewState="true">
                                    </asp:contentplaceholder>
                                </div>
                            </ContentTemplate>
                        </ajaxToolkit:TabPanel>
                        <ajaxToolkit:TabPanel runat="server" ID="PnlConfirmPage" OnClientClick="saveCurrentTabIndex" HeaderText="Page de confirmation">
                            <ContentTemplate>
                                <div style="overflow:scroll; height:600px">
                                    <asp:contentplaceholder id="ContentPlaceHolderConfirm" runat="server" EnableViewState="true">
                                    </asp:contentplaceholder>
                                </div>
                            </ContentTemplate>
                        </ajaxToolkit:TabPanel>
                        <ajaxToolkit:TabPanel runat="server" ID="PnlAuthPage" OnClientClick="saveCurrentTabIndex" HeaderText="Page d'authentification">
                            <ContentTemplate>
                                <div style="overflow:scroll; height:600px">
                                    <asp:contentplaceholder id="ContentPlaceHolderAuth" runat="server" EnableViewState="true">
                                    </asp:contentplaceholder>
                                </div>
                            </ContentTemplate>
                        </ajaxToolkit:TabPanel>
                    </ajaxToolkit:TabContainer>
                </td>
            </tr>
...
Le message d'erreur est donc le suivant :

La collection Controls ne peut pas être modifiée, car le contrôle contient des blocs de code (c'est-à-dire <% ... %>).


Aidezzzzz-moi s'il vous plaiiiiittttttt !! ^^