Bonjour,

Ceci fait suite à http://www.developpez.net/forums/d10...dindexchanged/ cette fois, le soucis est assez rageant.

J'ai 2 dropdownlist qui sont remplies via l’extension CascadingDropDown.
Une mère et une fille.
Quand je sélectionne une valeur dans la mère, ça rempli bien la fille.
Si je change la valeur de la mère, tout ce passe normalement.
Par contre si je sélectionne une valeur dans la mère, puis une valeur dans la fille, si je change la valeur de la mère, le selectedValue de la fille ne change pas (mais ça, c'est pas trop grave)
Le vrai problème, c'est quand je sélectionne une valeur dans la mère, que je sélectionne une valeur dans la fille puis que je change la valeur de la fille j'obtiens une erreur 500 sans que la WebMethod soit appelée.
Microsoft JScript runtime error:
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500
ManageProfil.ascx
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
<table>
    <tr>
        <td>
            <asp:Label ID="lbProfilOffice" runat="server" Text="<%$ Resources:WebSite, lbOffice %>" />
            :
        </td>
        <td>
            <asp:DropDownList ID="ddProfilOffice" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddProfilOffice_OnSelectedIndexChanged" />
            <ajx:CascadingDropDown ID="cddProfilOffice" runat="server" TargetControlID="ddProfilOffice"
                Category="Office" PromptText="<%$ Resources:WebSite, FirstRowOffice %>" PromptValue="-1"
                LoadingText="[Loading ...]" ServicePath="~/WebService.asmx" ServiceMethod="GetDropDownOffice"
                UseContextKey="false" />
        </td>
        <td colspan="2" />
    </tr>
    <tr>
        <td>
            <asp:Label ID="lbProfilAddress" runat="server" Text="<%$ Resources:WebSite, lbAddress %>" />
            :
        </td>
        <td>
            <asp:DropDownList ID="ddProfilAdresse" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddProfilAdresse_OnSelectedIndexChanged" />
            <ajx:CascadingDropDown ID="cddProfilAdresse" runat="server" TargetControlID="ddProfilAdresse"
                Category="Address" PromptText="<%$ Resources:WebSite, FirstRowAddress %>" PromptValue="-1"
                LoadingText="[Loading ...]" ServicePath="~/WebService.asmx" ServiceMethod="GetDropDownAddress"
                ParentControlID="ddProfilOffice" />
        </td>
        <td colspan="2" />
    </tr>
</table>
<asp:UpdatePanel ID="upProfilForm" runat="server" UpdateMode="Conditional" RenderMode="inline">
    <ContentTemplate>
        <table id="ProfilForm" runat="server" style="display: none">
            <tr>
                <td>
                    <asp:Label ID="lbProfilXP" runat="server" Text="<%$ Resources:WebSite, lbProfilXP %>" />
                    :
                </td>
                <td colspan="3">
                    <asp:TextBox ID="tbProfilXP" runat="server" />
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="lbProfilTS" runat="server" Text="<%$ Resources:WebSite, lbProfilTS %>" />
                    :
                </td>
                <td colspan="3">
                    <asp:TextBox ID="tbProfilTS" runat="server" />
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="lbProfilPF" runat="server" Text="<%$ Resources:WebSite, lbProfilPF %>" />
                    :
                </td>
                <td colspan="3">
                    <asp:TextBox ID="tbPersonalFolder" runat="server" />
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="lbProfilSL" runat="server" Text="<%$ Resources:WebSite, lbProfilSL %>" />
                    :
                </td>
                <td colspan="3">
                    <asp:TextBox ID="tbScriptLogin" runat="server" />
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Button ID="bProfilValidate" runat="server" Text="<%$ Resources:WebSite, btSend %>" />
                    <asp:Button ID="bProfilReset" runat="server" Text="<%$ Resources:WebSite, btErase %>" />
                </td>
            </tr>
        </table>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddProfilOffice" EventName="SelectedIndexChanged" />
        <asp:AsyncPostBackTrigger ControlID="ddProfilAdresse" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>
ManageProfil.ascx.cs
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 void ddProfilOffice_OnSelectedIndexChanged(Object sender, System.EventArgs e)
    {
        showInfo();
    }
 
    protected void ddProfilAdresse_OnSelectedIndexChanged(Object sender, System.EventArgs e)
    {
        showInfo();
    }
 
    private void showInfo()
    {
        if (String.IsNullOrEmpty(ddProfilAdresse.SelectedValue) || ddProfilAdresse.SelectedIndex == -1)
            ProfilForm.Style["Display"] = "none";
        else
        {
            Accra.Objects.FileProfil fp = null;
            try
            {
                fp = new Accra.Objects.FileProfil(ddProfilOffice.SelectedValue, ddProfilAdresse.SelectedValue);
            }
            catch (Exception) { }
            if (fp != null)
            {
                tbProfilXP.Text = fp.ProfilePath;
                tbProfilTS.Text = fp.ProfilTS;
                tbPersonalFolder.Text = fp.PersonalFolder;
                tbScriptLogin.Text = fp.ScriptPath;
            }
            ProfilForm.Style["Display"] = "block";
        }
    }
Merci de votre attention.