Bonjour,

Nous avons récupéré les sources d'un projet historique en ASP VB.NET et nous tentons de le faire fonctionner pour plus tard le modifier et le refactoriser. J'ai pu le lancer en local sans soucis, sans erreur ou alerte de compilation.

Cependant, lors du clique sur un bouton dans un FormView, la fonction qui est associée à cet évènement n'est jamais appelée, et l'on passe directement à la fonction qui gère l'event ItemCreated du FormView. Nos connaissances en ASP VB.NET étant limitées, nous n'avons pas pu trouver pourquoi cette fonction n'est jamais appelée :

Les 2 fonctions de gestions, la 1ere est un simple test que j'ai écrit en retentant d'associer l'event a la fonction à la main :

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
 
    Protected Sub TestClickBtn(sender As Object, e As EventArgs) Handles Button1.Click
        Console.WriteLine("Test click bouton")
    End Sub
 
    Protected Sub Button1_Click(sender As Object, e As EventArgs)
        Try
 
            FormView1.UpdateItem(True)
            Dim js As String = "Lobibox.notify('success',{title: 'Mise à jour effectuée',iconSource: 'fontAwesome',msg: 'Mise à jour du ticket réussit.', position: 'right top',pauseDelayOnHover: true,continueDelayOnInactiveTab: false});"
            ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "msg", js, True)
            'UpdatePanel1.Update()
        Catch ex As Exception
            Dim js As String = "Lobibox.alert('error',{title: 'Mise à jour non effectuée',iconSource: 'fontAwesome',msg: 'Mise à jour du ticket non réussit.'});"
            ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "msg", js, True)
            'UpdatePanel1.Update()
        End Try
 
    End Sub
En associant l'event à ma fonction test depuis le designer, VS a automatiquement retiré le "Handles Button1.Click" de la 2eme fonction pour le mettre sur la fonction test, ce qui m'avait paru bon signe :

Nom : screen vbnet.png
Affichages : 69
Taille : 12,1 Ko


Même en mode pas à pas avec des points d'arrêts, TestClickBtn n'est jamais appelée lors du click sur le bouton, et l'on repasse directement à cette fonction, dont le test " If Not IsNothing(FormView1.DataItem)" renvoie que FormView1.DataItem est à Nothing :

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
 
    Private Sub FormView1_ItemCreated(sender As Object, e As EventArgs) Handles FormView1.ItemCreated
        If Not IsNothing(FormView1.DataItem) Then
            Dim dl2 As DropDownList = FormView1.Row.Cells(0).FindControl("DropDownList2")
            dl2.Text = FormView1.DataItem("PrioritéM").ToString
            Dim dl1 As DropDownList = FormView1.Row.Cells(0).FindControl("DropDownList1")
            dl1.Text = FormView1.DataItem("SiteM").ToString
            Dim dl3 As DropDownList = FormView1.Row.Cells(0).FindControl("DropDownList3")
            dl3.SelectedValue = FormView1.DataItem("Catégorie").ToString
        Else
            If Context.User.Identity.IsAuthenticated Then
                Context.GetOwinContext().Authentication.SignOut(Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ApplicationCookie)
            End If
            Page.Response.Redirect("/Account/Login", True)
        End If
 
    End Sub
Pourriez-vous m'aider à trouver pourquoi ce Handler n'est absolument jamais appelé ?

Merci