Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème : WebControl dans un updatepanel [ Web 2.0 / Ajax ] (hysteria31)

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é 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 Ajax UpdatePanel - récupération des évéenemnts [ par SpanK ] Bonjour,J'utilise une application ASP.NET avec AJAX et notament le UpdatePanel.J'ai un timer qui permet la mise à jour de l'updatepanel toutes les 10 Problème avec des checkbox dans une gridview [ par RHTL ] Bonjour,J'ai une gridview qui me charge des données à partir d'une base de données avec comme dernière colonne une colonne de checkbox pour envoyer de DropdownList - RoundedCornersExtender (ou autre) - IE6 !! Gros problème [ par white_mage ] Bonjour, J'ai besoin car là, je commence à perdre patience...Le problème à l'air connu mais je ne trouve aucune solution. J'espère que certaines perso [C#] Problème DropDownList et UpdatePanel [ par The Red Man ] Bonjour !J'ai de nouveau un problème !voilà mon code :                     &nbsp  <asp:Butt Problème rechargement DropDownList [ par The Red Man ] Bonjour,Je suis actuellement confronté à un problème. En utilisant un UpdatePanel dans lequel j'ai un drop down list déjà peuplé dés le chargement de Contrôle Login et bouton connexion [ par BrunoCheyrou ] Bonjour,je suis actuellement entrain de développer un site en asp.net et vb.net pour les besoins de mon entreprise. J'ai à ce jour un problème que je problème en master page [ par sofiesofie ] bonjour, j'ai utilisé le master page dans mon application mais elle me pose quelque problème: 1-j'ai un menu(horizentale)  qui est composé de +


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.