Accueil > Forum > > > > update panel dans repeater
update panel dans repeater
mercredi 5 décembre 2007 à 16:17:55 |
update panel dans repeater

rastali
|
Bonjour, alors j'ai un petit probleme avec mon appli web. Je travaille avec le framework 2.0 sous visual studio 2005. J'ai un écran qui affiche un repeater avec des données récupérées de ma base oracle. Dans ce repeater j'affiche un tableau, et une des colonnes contient un textbox et deux boutons, l'un permettant d'incrémenter la valeur numérique afficher dans le textbox de 1, et l'autre permettant de décrémenter la valeur. Tout cela fonctionne parfaitement bien, mais a chaque click sur l'un des boutons, c'est toute la page qui se rafraichit, et c'a fait un peu mal aux yeux a force :D. Je souhaitais donc que le click sur mon bouton ne me rafraichisse que mon text box. Pour cela je me suis tourné vers ajax et l'update panel qui me semblait etre une bonne solution, sauf qu'au sein de mon repeater, ca ne fonctionne pas! 1-Ma premiere question est donc toute simple, est-ce possible d'intégrer un update panel dans un repeater? Et si oui, avez vous un exemple? ou si non, existe-t-il un autre moyen de ne raffraichir que mon textbox? Ensuite j'ai une autre question concernant ajax plus généralement. 2-Mon projet est un projet asp.net site web classic, est-ce que je peux en ajoutant les composants ajax utilisé du ajax dans mon code, ou dois-je forcement créer un projet asp.net ajax-enabled website ?
|
|
mercredi 5 décembre 2007 à 19:48:49 |
Re : update panel dans repeater

jesusonline
|
Bonjour, 1. Oui, c'est possible ! Mais faut binder correctement ou utiliser le viewstate, comment bind tu ton repeater ? utilises tu le viewstate ? as tu un message d'erreur ? que se passe t'il actuellement ? 2. Un site web ASP.net Ajax Enabled n'est rien d'autre qu'un site web classique avec un web.config un poil modifié :-) Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
|
|
jeudi 6 décembre 2007 à 10:23:42 |
Re : update panel dans repeater

rastali
|
salut, et merci de ta réponse ^^ alors pour la question 2, c'est bon j'ai réussi a adapter mon web.config en m'inspirant d'un web.config d'un projet ajax. J'arrive donc sur une page de test, et sans repeater, à mettre a jour uniquement mon textbox. Par contre, avec le repeater j'ai un probleme, directement a la compilation :s . donc mon code aspx: < asp:RepeaterID="rptClasses"runat="server"OnItemCommand="rptClassesItemCommand"EnableViewState="false"> <HeaderTemplate> <tablestyle="border-collapse:collapse; background-color:#BBBBBB;"> <tr> <tdstyle="border:1px solid #000000; width:100px"><b>Code</b></td> <tdstyle="border:1px solid #000000; width:100px"><b>Description</b></td> <tdstyle="border:1px solid #000000; width:120px"><b>Valeur</b></td> </tr> </table> </HeaderTemplate> <ItemTemplate> <tablestyle="border-collapse:collapse; background-color:#fbfcfd;"> <tr> <tdstyle="border:1px solid #000000; width:100px"><center><asp:LabelID="lblCode"runat="server"Text='<%# DataBinder.Eval(Container.DataItem, "CODE") %>'></asp:Label></center></td> <tdstyle="border:1px solid #000000; width:100px"><asp:LabelID="lblDescription"runat="server"Text='<%# DataBinder.Eval(Container.DataItem, "DESCRIPTION") %>'></asp:Label></td> <tdstyle="border:1px solid #000000; width:120px"> <asp:UpdatePanelID="UP1"runat="server"> <ContentTemplate> <fieldset> <asp:TextBoxrunat="server"ID="tbValeur"Width="50"Text='<%# DataBinder.Eval(Container.DataItem, "Valeur") %>'></asp:TextBox> <asp:Buttonid="btnPlus"runat="server"CommandName='<%# ACTIONPLUS %>'CommandArgument='<%# DataBinder.Eval(Container.DataItem, "CODE") %>'Text="+"/> <asp:Buttonid="btnMoins"runat="server"CommandName='<%# ACTIONMOINS %>'CommandArgument='<%# DataBinder.Eval(Container.DataItem, "CODE") %>'Text="-"/> </fieldset> </ContentTemplate> </asp:UpdatePanel> </td> </tr> </table> </ItemTemplate> <AlternatingItemTemplate> <tablestyle="border-collapse:collapse; background-color:#d7e4ed;"> <tr> <tdstyle="border:1px solid #000000; width:100px"><center><asp:LabelID="lblCode"runat="server"Text='<%# DataBinder.Eval(Container.DataItem, "CODE") %>'></asp:Label></center></td> <tdstyle="border:1px solid #000000; width:100px"><asp:LabelID="lblDescription"runat="server"Text='<%# DataBinder.Eval(Container.DataItem, "DESCRIPTION") %>'></asp:Label></td> <tdstyle="border:1px solid #000000; width:120px"> <asp:UpdatePanelID="UP1"runat="server"> <ContentTemplate> <fieldset> <asp:TextBoxrunat="server"ID="tbValeur"Width="50"Text='<%# DataBinder.Eval(Container.DataItem, "Valeur") %>'></asp:TextBox> <asp:Buttonid="btnPlus"runat="server"CommandName='<%# ACTIONPLUS %>'CommandArgument='<%# DataBinder.Eval(Container.DataItem, "CODE") %>'Text="+"/> <asp:Buttonid="btnMoins"runat="server"CommandName='<%# ACTIONMOINS %>'CommandArgument='<%# DataBinder.Eval(Container.DataItem, "CODE") %>'Text="-"/> </fieldset> </ContentTemplate> </asp:UpdatePanel> </td> </tr> </table> </AlternatingItemTemplate> </asp:Repeater>
et mon code cs: privatevoid InitRptClasses() { try { //on recupere les donn,es de la base DataTable DtClasses= newDataTable(); DtClasses= ClsClasse.SelectClasse().Tables[0]; //alimentation du repeater rptClasses.DataSource = DtClasses; rptClasses.DataBind(); } catch (Exception ex) { Util.Log("Erreur : InitRptClasses : " + ex.Message); } } publicvoid rptClassesItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e) { string code = e.CommandArgument.ToString(); if (e.CommandName == ACTIONPLUS) { ValeurPlus(code); } if (e.CommandName == ACTIONMOINS) { ValeurMoins(code); } }privatevoid ValeurPlus(string baumuster6) { try { foreach (RepeaterItem Item in rptClasses.Items) { if (((Label)Item.FindControl("lblCode")).Text.ToString() == code) { TextBoxtbValeur= (TextBox)Item.FindControl("tbValeur"); if (tbValeur.Text != "") { if (IsDouble(tbValeur.Text)) { Double valeur= Convert.ToDouble(tbValeur.Text) + 0.5; tbValeur.Text = valeur.ToString(); } } } } } catch (Exception ex) { Util.Log("ValeurPlus : "+ ex.Message); } }La fonction ValeurMoins est identique à ValeurPlus mais elle soustrait 0,5.
|
|
jeudi 6 décembre 2007 à 10:41:37 |
Re : update panel dans repeater

rastali
|
Ah et j'ai oublié les messages d'erreur, donc lors de la compilation j'ai ces erreurs:
Le type 'Page1' contient déjà une définition pour 'tbValeur' Le type 'Page1' contient déjà une définition pour 'btnPlus' Le type 'Page1' contient déjà une définition pour 'btnMoins' Le type 'ASP.page1_aspx' définit déjà un membre appelé '__BuildControltbValeur' avec les mêmes types de paramètres Le type 'ASP.page1_aspx' définit déjà un membre appelé '__DataBindingtbValeur' avec les mêmes types de paramètres Le type 'ASP.page1_aspx' définit déjà un membre appelé '__BuildControlbtnPlus' avec les mêmes types de paramètres Le type 'ASP.page1_aspx' définit déjà un membre appelé '__DataBindingbtnPlus' avec les mêmes types de paramètres Le type 'ASP.page1_aspx' définit déjà un membre appelé '__BuildControlbtnMoins' avec les mêmes types de paramètres Le type 'ASP.page1_aspx' définit déjà un membre appelé '__DataBindingbtnMoins' avec les mêmes types de paramètres
Et si je retire le alternatinItemTemplate, j'ai ces messages d'erreurs:
'System.Web.UI.Control' ne contient pas de définition pour 'DataItem' 'System.Web.UI.Control' ne contient pas de définition pour 'DataItem' 'System.Web.UI.Control' ne contient pas de définition pour 'DataItem'
correspondant aux lignes des elements contenus dans l'update panel, a savoir le textbox et les deux boutons.
|
|
jeudi 6 décembre 2007 à 11:25:52 |
Re : update panel dans repeater

rastali
|
Réponse acceptée !
Yo! en fait j'ai trouvé la réponse moi même  Je placais mal l'updatePanel, j'ai fait l'erreur de vouloir le mettre autour du champs a mettre a jour alors qu'en fait il fallait le mettre autour du repeater. Donc en gros il faut faire: <asp:UpdatePanelID="UP1"runat="server"> <ContentTemplate> <fieldset> <asp:RepeaterID="rptClasses"runat="server"OnItemCommand="rptClassesItemCommand"EnableViewState="false"> <HeaderTemplate> ........... </HeaderTemplate> <ItemTemplate> .......... </ItemTemplate> <AlternatingItemTemplate> .......... </AlternatingItemTemplate> </asp:Repeater> </fieldset> </ContentTemplate> </asp:UpdatePanel>
et ca fonctionne !!!
|
|
dimanche 9 décembre 2007 à 19:53:28 |
Re : update panel dans repeater

jesusonline
|
Bonjour, en mettant ton updatepanel autour de ton repeater, tu vas rafraichir tous le repeater et pas seulement un item. A mon avis le problème que tu as vient des id de tes controles, il semble que tu as des id dupliqués pour 2 textbox différentes. J'ai déjà mis des updatepanels dans une itemtemplate de repeater et il n'y a pas de problème, il faut juste faire attention à bien reconstruire les items comme il faut si on le construit de facon peu orthodoxe ;-) Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
|
|
Cette discussion est classée dans : textbox, ajax, panel, update, repeater
Répondre à ce message
Sujets en rapport avec ce message
update dans une base en ASP [ par Speedy ]
Speedysalut les amis,j'ai plusieurs problèmes en ASP :Je récupère des valeurs d'une tables dans un textbox qui se trouve dans un tableau.Plus il y a d
Panel se remplissant dynamiquement [ par systemic_anomaly ]
Bonjour tt le monde,J'ai un panel qui au page load est composé sur une ligne horizontale de plusieurs textbox et labels et un bouton "Ajouter" (qui pr
Recupération d'un textbox avec asp:repeater [ par rtouillet ]
Bonjour,J'ai un petit problème ASP.net, j'aimerais savoir comment récupérer, lors d'un clique sur un bouton et sur la page qui est appelée, la valeur
CommandArgument et textbox, le tout dans un repeater [ par cboulas ]
Salut à tous, Voilà j'ai un repeater lié à ma database, ce repeater affiche une boutique en lignes, j'ai donc une ligne pour chaque enregistrement, l'
repeater avec textbox, acceder au contenu apres validation [ par Dyr3e ]
bonjour, je parcours les textbox de mon repeater apres que l'utilisateur les ai rempli et valider par un bouton submit , et j'aimerais pouvoir recupe
TextBox ajax [ par Solution ]
Bonjour,j'ai une méthode qui traite le contenu du textbox. j'ai utillisé ajax pour l'appel ce la méthode dans javascript tous ca va sauf que le conten
plusieur Update panel sur la meme page [ par mnmall ]
Bonjour,J'ai le code suivant : </a
Update Panel Clignotement [ par Myke ]
BonjourDans une page web j'utilise un Controle Update Panel. Le controle fonctionne très bien sauf pour une chose. Dans mon Update Panel chez un DropD
button dans un repeater [ par fguigui ]
Bonjour à tous,Dans une webform j'ai un Repeater à l'intérieur duquel j'ai des textbox, label et button du genre : <ctrl:RepeatBudgets ID="Repe
TabPanel [ par theVince63 ]
Bonjour,voila j'ai un probléme avec le chargment des tabpanels . J'ai mis en place une page qui comporte un update panel dans lequel on trouve des co
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|