IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[ASP.NET][JS] Récupération d'un contrôle


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2010
    Messages : 86
    Par défaut [ASP.NET][JS] Récupération d'un contrôle
    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

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2010
    Messages : 86
    Par défaut
    Et bien c'est tout bon, problème résolue !

    Il faut rajouter ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UseSubmitBehavior="False" CausesValidation="False"
    dans les propriétés du bouton si jamais cela peut aider quelqu'un

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupération requete asp.net
    Par thewaterkidny dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/07/2007, 11h35
  2. [asp.NET 2.0]Contrôle modifiable sur un GridView
    Par pulsar125 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 15/06/2007, 22h17
  3. [ASP.NET][C#]Récupération valeur dans une table
    Par johnny_hey dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/03/2007, 14h44
  4. Réponses: 3
    Dernier message: 01/03/2007, 17h08
  5. Réponses: 7
    Dernier message: 26/02/2007, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo