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 :
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 :
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
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 :
Pourriez-vous m'aider à trouver pourquoi ce Handler n'est absolument jamais appelé ?
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
Merci
Partager