begin process at 2010 07 31 05:08:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Web 2.0

 > 

Ajax

 > 

Problème : WebControl dans un updatepanel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème : WebControl dans un updatepanel

mardi 5 décembre 2006 à 16:34:50 | Problème : WebControl dans un updatepanel

hysteria31

Bonjour,

mon problème est le suivant.

J'ai une page principale (Default.aspx) contenant un updatepanel.

Lorsque je clique sur un bouton situé dans ma page principale, je charge dans mon updatepanel un controle web (ascx).
Ce controle contient un formulaire et un bouton permettant d'enregister les données via une méthode incluse dans le code-behind de mon controle ascx.

Le problème vient maintenant : lorsque je clique sur mon bouton, une requête "ajax" est envoyé vers le serveur mais ce dernier n'execute pas ma méthode.

Maintenant, il y a 2 scenarios où ce la marche :
- lorsque j'appelle une méthode de ma page principale (Default.aspx),
- lorsque je charge en même temps ma page principale et mon contrôleWeb.

Si quelqu'un peut m'aider, je lui serais extrèmement reconnaissant.

Je cherche sans exagérer depuis vendredi dernier à plein temps, ça commence vraiment à me les briser !!!


Merci d'avance pour votre aide.

A bientôt.

Damien

mardi 5 décembre 2006 à 20:10:25 | Re : Problème : WebControl dans un updatepanel

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonsoir,

Tu rajoutes bien ton updatepanel dans l'evenement init ou preinit ? c'est la seule vrai méthode pour rajouter un controle dynamiquement sinon tu vas avoir des problèmes du genre ...



Cyril - MVS - MCP
mercredi 6 décembre 2006 à 09:23:42 | Re : Problème : WebControl dans un updatepanel

hysteria31

Bonjour Cyril,

merci de m'avoir répondu.

Je ne vois pas ce que tu veux dire. Peut-être que le comme pourra t'aider


Le code de ma page Default.aspx

Code :
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
<asp:UpdatePanel ID="upContent" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>

</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lb1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:LinkButton runat="server" ID="lb1" Text="" onclick="ButtonMenu_Click" />

Code de ButtonMenu_Click dans le code-behind de Default.aspx

Code :
protected void ButtonMenu_Click(object sender, EventArgs e)
{
if (Request.Params["nameCtrl"].Length > 0)
{
//Chargement du contrôle
Control c = this.LoadControl("control1.ascx");
this.upContent.ContentTemplateContainer.Controls.Add(c);
}
}

Mon web contrôle
Code :
public partial class CtrlManifDetail : System.Web.UI.UserControl
{
LinkButton lb;

protected override void CreateChildControls()
{
base.CreateChildControls();
ScriptManager sm = ScriptManager.GetCurrent(Page);

//Ajout de mon bouton
lb = new LinkButton();
lb.ID = "lbTest";
lb.Text = "Bouton de test";
lb.Click += new EventHandler(lbTest_save);

this.Controls.Add(lb);
}

protected void Page_Load(object sender, EventArgs e)
{

}

protected void lbTest_save(object sender, EventArgs e)
{
//Mon traitement
}


En espérant que cela pourra t'aider à m'aider .

Damien
mercredi 6 décembre 2006 à 09:55:41 | Re : Problème : WebControl dans un updatepanel

jesusonline

Membre Club Administrateur CodeS-SourceS
Oui c'est ce que j'ai dit au dessus, il faut rajouter tes controles au plus tard  dans le page_init de ata page ... :-)


Cyril - MVS - MCP
mercredi 6 décembre 2006 à 10:42:40 | Re : Problème : WebControl dans un updatepanel

hysteria31

J'ai copié le code du CreateChildControls() dans un OnInit(EventArgs e) de mon controle.

Le problème reste le même.
mercredi 6 décembre 2006 à 10:48:31 | Re : Problème : WebControl dans un updatepanel

jesusonline

Membre Club Administrateur CodeS-SourceS
Le problème vient pas de la (CreateChildControls c'est ok)

mais de la 

    protected void ButtonMenu_Click(object sender, EventArgs e)
    {
        if (Request.Params["nameCtrl"].Length > 0)
        {
            //Chargement du contrôle
            Control c = this.LoadControl("control1.ascx");
            this.upContent.ContentTemplateContainer.Controls.Add(c);  // ici
        }
    }

désolé j'ai pas bien le temps en ce moment :(


Cyril - MVS - MCP
mercredi 6 décembre 2006 à 10:55:04 | Re : Problème : WebControl dans un updatepanel

hysteria31

Je sais pas si cela peut t'aider.

Voici les requêtes envoyés au serveur :

Lors de l'appel de mon contrôle
ScriptManager1=ScriptManager1|lb1&__EVENTTARGET=lb1&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTA1MDg2MzU2NWRkr%2FMvShDR%2FpiIfH4jnB8SZkv5%2F98%3D&__EVENTVALIDATION=%2FwEWAgL%2F7p%2FCBwL5l%2BPQBcpuwylFQAqCICeRb2Dh9zOauThr&

Lors du click sur mon LinkButton inclus dans mon webcontrole

ScriptManager1=upContent|ctl03$lbTest&__EVENTTARGET=ctl03%24lbTest&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTA1MDg2MzU2NWRkr%2FMvShDR%2FpiIfH4jnB8SZkv5%2F98%3D&__EVENTVALIDATION=%2FwEWAwL%2F7p%2FCBwLwgLKBBgL5l%2BPQBT7yD5tKsfCKzjf%2B699XXnkY0rD%2F&

mercredi 6 décembre 2006 à 11:28:16 | Re : Problème : WebControl dans un updatepanel

hysteria31

D'accord j'ai enfin compris !!

Je suis dans la m...

Car en fait je ne sais pas quel contrôle je dois charger lorsque je clique sur mon bouton.

Quel solution puis-je utiliser à la place d'un contrôle Web ?


mercredi 6 décembre 2006 à 16:28:03 | Re : Problème : WebControl dans un updatepanel

hysteria31

Cyril,

j'ai parcouru  ton blog et je suis tombé sur un projet nommé AsyncMethods.
Ce projet pourrait-il m'aider pour résoudre mon problème ?
Existe-t-il une version pour la beta2 du framework ajax ?

Merci d'avance pour ton aide.

Bon courage à toi, apparement tu as l'air sous l'eau ! Je me sens moins seul maintenant !

A bientôt.

Damien


dimanche 17 décembre 2006 à 15:36:09 | Re : Problème : WebControl dans un updatepanel

jesusonline

Membre Club Administrateur CodeS-SourceS

J'ai enfin un peu de temps, le projet AsyncMEthoids n'a rien a voir avec ton problème (il permettait d'utiliser les PageMethods dans des custom Controls, il faut que je le refasse car avec les changements entre CTP et beta il est devenu incompatible)

Pour ajouter des controles dynamiquement il faut absolument les rajouter dans le page_init sinon ca va merder au niveau des evenements, mais tu peux quand meme ajouter les controles sur l'evenement du bouton, mais lorsque la page postback il faut qu'il soit rajouté dans le page_init (je suis pas clair je pense :)).

Donc :

button_click : 
    -Addcontrol()
    - viewstate['AddedControl'] = 'un button id truc' // un objet qui décrit le bouton rajouté pour poivoir le recréer ensuite

 

page_init :
   page.ispostback ?
         AddControl(viewstate['AddedControl']);

Est-ce un poil plus clair ?


Cyril - MVS - MCP



Cette discussion est classée dans : bouton, problème, page, principale, updatepanel


Répondre à ce message

Sujets en rapport avec ce message

problème de frame [ par flo7554 ] En effet j'ai une page avec plusieurs frames dont une sur laquelle se trouve une liste déroulante et un bouton seulement je voudrais qu'en cliquant su usercontrol + bouton [ par fcampagne ] Bonjour a tousj'ai crée un usercontrol comprenant un panel avec un bouton a l'interieur.Ensuite dans ma page principale je créer dynamiquement plusieu Nouvelle page dans un updatepanel [ par Patate1978 ] Bonjour. Je suis relativement nouveau dans le monde de AJAX. Par contre, j'ai réussi à assimiler le principe de synchronisation partielle. Mon problèm problème updatepanel sous iis7 [ par coulis ] Bonjour, Je m'arrache les cheveux depuis plusieurs jours. On vient de mettre en place un nouveau serveur dédié (dédibox) sous Windows server 2008 web. Window.open avec UpdatePanel ? [ par lassaad83 ] Bonjour, J'ai un souci pour ouvrir une fenêtre après le click sur un bouton. Mon bouton se trouve dans un UpdatePanel et le code behind est de ce st Un bouton affiche un panel (asp.net c Sharp) : Comment s'affiche-t-il, ce Panel dans la page sans que la page se monte en haut de l'écran. [ par phpdos ] J'ai un bouton « [b]Panel [/b]» en bas de mon formulaire. Lorsque l'utilisateur clique sur le bouton « [b]Panel [/b]» on affiche le contenu de ce pan ASPX + VB : Problème de multi enregistrement [ par jcbelgium ] Bonjour à tous, J'écris une appli en Visual Web 2005 avec du VB derrière. J'ai un formulaire complexe avec un bouton "Enregitrer". Losqu'on clique po UpdatePanel et callback d'une chart s'arretent de fonctionner apres l'execution d'un code javascript [ par waelyh ] Bonjour tout le monde, je suis entrain d'appeler une fenêtre popup a partir d'une page aspx appelé "page1.aspx" en utilisant le code C# suivant: [co 1 usercontrol + ajax + bouton n fois, ça va, 2 usercontrol, bonjour les dégats ! [ par JMPlus ] Bonjour, J'ai un usercontrol1 qui contient un bouton que j'instancie n fois selon le nb d'occurrences d'une classe de données dans le page_init de ma transfert des données d'une page ASPX à une autre... [ par aylandar2000 ] bonjour à tout le monde bon voila je me retrouve en face d'un mega problème qui me fatigue depuis des semaines... "comment faire passer des infos d'u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales