Bonjour à tous.

Je pense que mon souci vient du fait de l'UpdatePanel que je n'arrive pas à bien gérer. Mais là, je sèche un peu.

Alors présentons le truc simplement : j'ai mis un contrôle Login dans un UpdatePanel de la manière suivante :
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
 
<ajax:UpdatePanel ID="upSing" runat="server" ChildrenAsTriggers="true" UpdateMode="Always" RenderMode="Inline">
    <Triggers>
        <ajax:AsyncPostBackTrigger ControlID="lbSign" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <div id="divFondSign" runat="server" style="display:none;" class="FondOpaque">
        <div id="divDevantSign" class="DivSignIn">
        <asp:LinkButton ID="lbCloseLogin" runat="server" Text="Close"></asp:LinkButton>
        <asp:Login ID="log" runat="server" 
            MembershipProvider="MemberShipHashed"
            VisibleWhenLoggedIn="false"
            >
        </asp:Login>
        </div>
        </div>
    </ContentTemplate>
</ajax:UpdatePanel>
A l'inscription les utilisateurs sont flaggués sur Approved = False.
Donc cela déclenche une erreur lors de la tentative de connexion.
Pour capter cette erreur, habituellement, c'est lorsque je fais sans UpdatePanel, je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Protected Sub log_LoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles log.LoggingIn
        Try
            Dim u As MembershipUser = Membership.GetUser(log.UserName, False)
            If Not u.IsApproved Then
                Response.Redirect("/Navigation/Confirmation.aspx?prov=log")
            End If
 
        Catch ex As Exception
            Outils.Logage(ex.Message)
        End Try
    End Sub
Donc ça marche bien quand il n'y a pas d'UpdatePanel
Là, vu que je tiens à mon UpdatePanel pour des questions d'ergonomie et parce que j'ai pas le choix, je dois changer la méthode de redirection. Pour l'instant, ça boucle sur la même page, rien de plus.

Si je change le Response.Redirect par ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Page.ClientScript.RegisterStartupScript(Me.GetType(), "redirect", "location.href = '/Navigation/Confirmation.aspx?prov=log'", True)
Il me met le message d'erreur d'identification et ne redirige pas.

Alors je cherche pourquoi il ne veut pas me rediriger, mais je trouve pas.

Avez-vous une idée ?