Rafraichir panel depuis updatepanel

[Résolu]
Signaler
Messages postés
31
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
27 août 2008
-
 Utilisateur anonyme -
Bonjour,

en tant que débutante, je rencontre un nouveau problème dans la course à mon développement ...

Pour palier au problème d'upload de fichier impossible dans un update panel, j'ai mis le fileupload dans un panel en dehors de l'updatepanel.
Par défaut , mon panel a la propriété visible à false.
Un bouton depuis l'updatepanel me permet de mettre cette propriété à true.
malheureusement ... ca marche po

Dans le on-load de l'updatepanel, j'ai ajouté le code suivant :
PostBackTrigger Trigger =
new
PostBackTrigger();
Trigger.ControlID =
"BtnAddImage";
UpdatePanelProduit.Triggers.Add(Trigger);

Voici le code de mon bouton :
protected
void BtnAddImage_Click(
object sender,
EventArgs e)
{

  Panel PanelAddImage = (
Panel)Produit.FindControl(
"PanelAddImage");
  PanelAddImage.Visible =
true;
}

Rien ne se passe et surtout, ma page n'est pas entièrement rafraichie !
Il doit manquer quelque chose !
Avez-vous une idée ?

Merci

7 réponses

Hello,

Si tu n'as pas mis ton panel dans l'updatepanel, tu ne seras pas utiliser le Visible = "True" sans que toute la page se rafraîchisse, vu que ton panel à afficher est en dehors de l'updatepanel...

Si tu veux pouvoir utiliser un fileupload dans un updatepanel je te conseil de lire l'article de Cyril en 2 parties : http://blogs.developpeur.org/cyril/archive/2007/03/24/ajax-et-upload-part-1.aspx et http://blogs.developpeur.org/cyril/archive/2007/05/06/ajax-et-upload-part-2-utilisation-d-un-updatepanel-et-d-un-fileupload.aspx

A++
Messages postés
31
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
27 août 2008

Merci pour ta réponse, je vais me pencher sur ces articles.
Cependant, ma méthode ne me paraissait pas idiote.
ce que je ne comprend pas c'est pourquoi mon trigger en postback ne fonctionne pas !
Une idée ?
Pour moi, ton trigger ne fonctionne pas car tu ne peux pas exécuter une action sur ton bouton via le trigger alors que ton panel est en dehors de l'updatepanel...
Pourquoi utilises-tu le trigger de l'updatepanel pour exécuter une action sur un panel qui lui même n'est pas dans l'updatepanel ?

A++
Messages postés
31
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
27 août 2008

en fait je voulais rafraichir toute la page pour que mon panel devienne visible, car lorsque je sort mon bouton de l'updatepanel, il me permet bien d'afficher le panel ... peut être est-ce tordu !?
C'est vrai que tant qu'on a pas l'expérience ni la méthode, on tatonne, et on arrive à faire des choses parfois sans queue ni tête
Heureusement qu'il existe ce forum !
Si tu veux tout simplement afficher ton panel avec un bouton avec refresh, tu ne dois pas utiliser de trigger.

Tu fais tout simplement un .Visible="True" depuis l'action Clik de ton bouton :

Protected

Sub TonBouton_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles TonBouton.Click

TonPanel.Visible = "True"
End
Sub
A++
Messages postés
31
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
27 août 2008

c'est ce que je fais depuis mon bouton qui est dans le updatepanel ...
bon, je vais voir pour une autre solution

Merci de ton aide !
Ca peut pas marcher vu que tu as mis un trigger sur ce bouton déjà. C'est pas ce que tu as dit ?
Essaye, si ce n'est pas fait, d'enlever le trigger sur ton bouton et de réessayer avec TonPanel.Visible = "True" sur ton l'action Click du bouton.

A++