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 :

Problème reload Page sur onClick


Sujet :

ASP.NET

  1. #1
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut Problème reload Page sur onClick
    Bonjour

    je développe une WebPart sous Sharepoint.

    Passons le rôle de ma WebPart pour le moment, explication du problème :

    Au load de ma page, tout va bien.

    Je demande le rechargement de cette page sur un onClick, "Une erreur inattendue s'est produite"

    Je ne comprend pas pourtant le code est extrèmement simple donc j'en ai marre la depuis 2 heures la dessus

    Extrait du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim monPanel as New Panel
    dim monBouton as New Button
    AddHandler monBouton.Click , AddessOf monBouton_OnClick
    monPanel.Controls.add(monBouton)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private sub monBouton_OnClick(sender as Object, e as System.EvenArgs)
    httpContext.Curent.Response.Redirect("maPage.aspx")
    end sub

    J'ai même effectué l'opération avec du JavaScript, "onclick","window.location.replace("maPage.aspx")

    Même erreur!


    Quand je recharge la page en passant par l'url, et aussi en rajoutant des paramètres, tout fonctionne, mais le bouton, Non!

    Des idées?

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim monPanel as New Panel
    dim monBouton as New Button
    AddHandler monBouton.Click , AddessOf monBouton_OnClick
    monPanel.Controls.add(monBouton)
    il est bien exécuté à chaque fois? il n'est pas dans un !IsPostBack?

  3. #3
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Le clic n'appelle pas la fonction que j'appelle grâce au Delegate.

    Le clic génère une exception aussitôt.

    Je n'ai pas de IsPostBack dans cette WebPart.


    Je sais que l'erreur vient de mon code placer dans la WebPart. En effet j'utilise cette méthode ailleurs et elle fonctionne très bien.

    Je ne vois pas ou par contre...

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
     Private Sub chargerFormulaireLegende()
                If _admin = True Then
     
                    'on vide les anciens controles de l'ancien formulaire qui a été chargé
                    _TableFormulaire.Controls.Clear()
                    _classeFormulaire = New cMetier
                    Dim paramsCouleur As String = HttpContext.Current.Request.Params("choixCouleur")
                    Dim englobe As New Panel 'une div englobant le total
                    englobe.ID = "englobe"
                    Dim ligneTR As HtmlTableRow 'une rangé
                    Dim colonneTD As HtmlTableCell 'une colonne 
     
                    _listesActivites = New Collections.Generic.Dictionary(Of Int32, cActivite)
                    _listesActivites = _classeFormulaire.chargerLesActivite
     
                    If _listesActivites.Count > 0 Then
                        'PREMIERE LIGNE PREMIERE COLONNE
                        ligneTR = New HtmlTableRow
                        colonneTD = New HtmlTableCell
                        colonneTD.Controls.Add(New LiteralControl("Nom"))
                        ligneTR.Controls.Add(colonneTD)
     
                        colonneTD = New HtmlTableCell
                        colonneTD.Controls.Add(New LiteralControl("Couleur"))
                        ligneTR.Controls.Add(colonneTD)
     
                        colonneTD = New HtmlTableCell
                        colonneTD.Controls.Add(New LiteralControl("Commentaire"))
                        ligneTR.Controls.Add(colonneTD)
                        _TableFormulaire.Controls.Add(ligneTR)
     
     
                        For i = 0 To _listesActivites.Count - 1
                            'pour chaque état on va afficher le nom et la couleur et le commentaire
     
                            'Affiche du nom de l'activité
                            ligneTR = New HtmlTableRow
                            colonneTD = New HtmlTableCell
                            colonneTD.Controls.Add(New LiteralControl(_listesActivites.Item(i).name))
                            ligneTR.Controls.Add(colonneTD)
     
                            If paramsCouleur = "modifier" Then
                                'Affiche de la couleur dans une txtBox
                                colonneTD = New HtmlTableCell
                                _cbxListeCouleur = New DropDownList
                                _cbxListeCouleur.ID = "cbxCouleur"
                                chargerComboListeCouleur()
                                colonneTD.Controls.Add(_cbxListeCouleur)
                                ligneTR.Controls.Add(colonneTD)
                            Else
                                'Affiche de la couleur dans une txtBox
                                colonneTD = New HtmlTableCell
                                Dim txtCouleur As New TextBox
                                txtCouleur.ID = "txtCouleur"
                                txtCouleur.Text = ""
                                txtCouleur.Enabled = False
                                txtCouleur.ToolTip = _listesActivites.Item(i).name
                                txtCouleur.BackColor = System.Drawing.ColorTranslator.FromHtml(_listesActivites.Item(i).color)
                                colonneTD.Controls.Add(txtCouleur)
                                ligneTR.Controls.Add(colonneTD)
                            End If
                            'Affiche du commentaire
                            colonneTD = New HtmlTableCell
                            colonneTD.Controls.Add(New LiteralControl("Je suis le commentaire de l'activité"))
                            ligneTR.Controls.Add(colonneTD)
                            _TableFormulaire.Controls.Add(ligneTR)
                        Next
                    End If
     
                    englobe.Controls.Add(_TableFormulaire)
     
                    'MODIFIER ET FERMER LE FORMULAIRE
                    Dim divBouton As New Panel
                    divBouton.ID = "divBouton"
                    divBouton.CssClass = "divBouton"
                    'on ajoute la huitieme ligne
                    _btnAnnuler = New Button
                    _btnAnnuler.ID = "btnFermer"
                    _btnAnnuler.Text = "FERMER"
                    ' _btnAnnuler.Attributes.Add("onclick", "javascript:window.location.replace('monPlanning.aspx');")
                    AddHandler _btnAnnuler.Click, AddressOf BtnCancel_OnClick
                    divBouton.Controls.Add(_btnAnnuler)
                    _btnValider = New Button
                    _btnValider.ID = "btnModifier"
                    _btnValider.Text = "Modifier"
                    AddHandler _btnValider.Click, AddressOf BtnModifier_OnClick
                    divBouton.Controls.Add(_btnValider)
     
                    englobe.Controls.Add(divBouton)
     
                'AJOUT DES CONTROLES DANS LA PAGE
                Me.Controls.Add(englobe)
                Else
                Me.Controls.Add(New LiteralControl("Vous n'avez pas les droits nécessaire pour effectuer cette action"))
                End If
    Je ne sais pas si à la lecture du code on arrive à voir ou est le problème...

    Si quelqu'un à les yeux du Maitre Debogueur, bonne chance à lui!


    Merci

  4. #4
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par Lapinpanda Voir le message

    Je demande le rechargement de cette page sur un onClick, "Une erreur inattendue s'est produite"
    Commence par activer les erreurs sur ton site Sharepoint

    http://blog.developpez.com/philippe/...l-des-erreurs/

  5. #5
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    OK merci Philippe je ne savais pas que cela existait.
    Je regardais après!


    Pour l'instant : PROBLEME RESOLU.

    Origine : controles multiples avec ID identique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Affiche de la couleur dans une txtBox
                                colonneTD = New HtmlTableCell
                                Dim txtCouleur As New TextBox
                                txtCouleur.ID = "txtCouleur"
                                txtCouleur.Text = ""
                                txtCouleur.Enabled = False
                                txtCouleur.ToolTip = _listesActivites.Item(i).name
                                txtCouleur.BackColor = System.Drawing.ColorTranslator.FromHtml(_listesActivites.Item(i).color)
                                colonneTD.Controls.Add(txtCouleur)
                                ligneTR.Controls.Add(colonneTD)
    Mon controle est dans une boucle, et je crée plusieurs fois le même ID.

    Au load de la page cela ne pose pas de soucis, pourquoi?


    Enfin bref, ca fonctionne désormais, erreur de débutant

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

Discussions similaires

  1. Problème reload page textarea
    Par Laertes dans le forum Langage
    Réponses: 10
    Dernier message: 26/02/2009, 15h00
  2. reload de page sur onchange
    Par logone dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/07/2006, 12h47
  3. Problème de décalage sur une page
    Par baleiney dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 26/05/2006, 17h54
  4. Problème de rewriting sur page d'entrée
    Par fguilbert dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2006, 12h41
  5. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23

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