Bonjour à tous,

Je viens a vous avec un petit problème ! J'ai une page ASPx qui permet d'effectuer le retour d'un salarié dans son entreprise. Cela se fait de la façon suivante :

J'ai un gridview qui récupère les employés sortie selon l'entreprise selectionné
Un clic droit sur une des lignes permet de faire apparaitre un petit menu contextuel qui me donne le choix sur quelques actions dont celui de faire son retour.
Au clic de ce choix, un PopupControl apparaît me permettant de saisir la date de retour et d'ajouter un commentaire. Puis de valider ou d'annuler.
Sur le clic du bouton Valider, y'a un appel JS qui me permet de fermer le popup et d'afficher le 2eme PopupControl.
Celui la me permet de choisir entre 3 choses :
- Valider le retour du salarié et aller sur sa fiche d'information
- Valider le retour du salarié et retourner sur la grille
- Annuler mon retour salarié

Le problème actuelle que j'ai est que je n'arrive pas a récuperer le choix effectué pour agir en conséquence ! Je vous met le morceau de code qui va bien afin que vous puissiez vous en faire une idée :

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
ClientScript.RegisterClientScriptBlock(Me.GetType(), "PageScript", String.Format("var popupMenuID = ""{0}""; var adeDtRetourID = ""{1}""; var amCommentID =""{2}""; var btnValidTxtporteeID = ""{3}""; var REVadeDtRetourID = ""{4}""; var RFVadeDtRetourID = ""{5}"";" & vbCrLf, apmRetourEmployee.ClientID, tb_SaisieDate.ClientID, tb_Commentaire.ClientID, btnValidTxtportee.ClientID, REV_ValidRetourEmpl.ClientID, RFV_ValidRetourEmpl.ClientID), True)
        ClientScript.RegisterClientScriptBlock(Me.GetType(), "PageScript2", String.Format("var nomSalarieID = ""{0}""; var prenomSalarieID = ""{1}""; var numeroSecuID =""{2}"";" & vbCrLf, lbl_NomSalarie.ClientID, lbl_PrenomSalarie.ClientID, lbl_NumSecuSalarie.ClientID), True)
        Dim ajaxScriptManager As ScriptManager
        ajaxScriptManager = Page.Master.FindControl("ajaxScriptManager")
        ajaxScriptManager.RegisterAsyncPostBackControl(DDL_ListAdh)
        ajaxScriptManager.RegisterAsyncPostBackControl(btnValidTxtportee)
ajaxScriptManager.RegisterAsyncPostBackControl(btn_ValidInfoSal)        
 
ajaxScriptManager.RegisterAsyncPostBackControl(btn_RetourGrilleSal)   
 
        Dim postbackCtl As System.Web.UI.Control = GetPostbackControl(Me)
        If postbackCtl IsNot Nothing Then
            If postbackCtl.ID = Me.DDL_ListAdh.ID Or postbackCtl.ID = Me.btnValidTxtportee.ID Then
                ChargementListOut()
            ElseIf postbackCtl.ID = Me.Btn_ListScreen.ID Then
                ChargementListOut()               
                GVE_ExportEmployees.WriteXlsToResponse(True)
            ElseIf postbackCtl.ID = Me.btn_ValidInfoSal.ID Or postbackCtl.ID = Me.btn_RetourGrilleSal.ID Then
                Dim id As Integer = CType(GV_EmplList.GetRowValues(GV_EmplList.FocusedRowIndex, GV_EmplList.KeyFieldName), Integer)
                Dim RetValRetour As Boolean = retourEmployees(id, tb_SaisieDate, tb_Commentaire)
                If RetValRetour Then
                    If postbackCtl.ID = Me.btn_ValidInfoSal.ID Then
                        redirectWithUserId("urlUpdateEmployees")
                    Else
                        ChargementListOut()
                    End If
                End If
            End If
        Else
            ChargementListOut()
        End If
Lorsque j'arrive a la déclaration d'un contrôle générique qui récupèrera grâce à GetPostBackControl le contrôle qui viens d'être utiliser pour le chargement de la page il ne me récupère rien qu'importe le bouton utiliser sur le 2eme PopupControl alors que pour toutes les autres actions y'a aucun problème !

Je vous met le code de cette fonction :
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
Public Shared Function GetPostbackControl(ByVal targPage As Page) As Control
            If targPage.IsPostBack Then
                Dim ctlName As String = targPage.Request.Form("__EVENTTARGET")
                If ctlName.Trim().Length > 0 Then
                    Return targPage.FindControl(ctlName)
                End If
                Dim keyName As String
                For Each keyName In targPage.Request.Form
                    Dim ctl As Control = targPage.FindControl(keyName)
                    If Not ctl Is Nothing Then
                        If TypeOf ctl Is Button Then
                            Return ctl
                        End If
                    End If
                Next
            End If
            Return Nothing
        End Function
A savoir que je n'ai pas le droit de toucher à cette fonction !

Voila donc j'espère trouver une personne qui puisse m'aider car je bloque depuis un peu trop longtemps