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 :
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 !
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
Je vous met le code de cette fonction :
A savoir que je n'ai pas le droit de toucher à 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
Voila donc j'espère trouver une personne qui puisse m'aider car je bloque depuis un peu trop longtemps![]()
Partager