J'ai deux panneaux de mise à jour sur une page. Et je veux mettre à jour les deux conditions dans différentes conditions. Mais je ne sais pas pourquoi cela ne se produit pas. J'ai des déclencheurs spécifiés pour les deux mais pas utiles, ci-dessous est mon code.
S'il vous plaît laissez-moi savoir où je me trompe. p>
En réalité, il existe trois listes déroulantes dans le premier panneau de mise à jour lorsque leur SeciPeyDExchange est tiré, le contenu du second panneau de mise à jour est également mis à jour. P>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional"> <ContentTemplate> <asp:Calendar ID="calSchedule" runat="server" NextPrevFormat="FullMonth" OnDayRender="calSchedule_DayRender" OnVisibleMonthChanged="calSchedule_VisibleMonthChanged"> <DayHeaderStyle CssClass="dayheaderStyle" /> <NextPrevStyle /> <OtherMonthDayStyle BackColor="#ffffff" /> <SelectedDayStyle /> <TitleStyle CssClass="titleStyle" /> <TodayDayStyle BackColor="#ffffa0" ForeColor="#6699cc" /> <WeekendDayStyle /> <DayStyle CssClass="dayStyle" /> </asp:Calendar> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" /> </Triggers> </asp:UpdatePanel>
4 Réponses :
Si vous utilisez des panneaux de mise à jour imbriqués, reportez-moi ci-dessous le code exemple:
<asp:UpdatePanel id="UpdatePanel1" UpdateMode="Conditional" runat="server"> <ContentTemplate> <fieldset> <legend>Parent UpdatePanel</legend> Last refresh <%=DateTime.Now.ToString() %> <br /> <asp:Button ID="Button1" runat="server" Text="Refresh Outer Panel" /> <asp:UpdatePanel ID="UpdatePanel2" runat="server"> <ContentTemplate> <fieldset> <legend>Nested UpdatePanel</legend> Last refresh <%=DateTime.Now.ToString() %> <br /> <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar> </fieldset> </ContentTemplate> </asp:UpdatePanel> </fieldset> </ContentTemplate> </asp:UpdatePanel>
Cette ligne <% = Quelque chose%> code> du code ne fonctionne généralement pas sur les panneaux de mise à jour.
Je n'utilise pas les panneaux de mise à jour imbriqués. Veuillez étudier mon code et question avec soin.
Supprimer l'autopostback = "true" des listes déroulantes si vous voulez qu'un asyncpostback se produise. En outre, qu'est-ce qui ne va pas exactement en ce moment? Les panneaux ugumes ne mettent pas à jour du tout? P>
éditer. Supprimez également les enfants constructeurs car il n'est pas nécessaire à cette occasion p>
Si je supprimais Autopostback = TRUE, mon événement SELECTEDINDEXchangeed ne fonctionnera pas.
Et quel est exactement le problème alors? La page post-elle en arrière ou ne fait rien?
La page postée comme sélectionnée signé et le contenu du second panneau de mise à jour est également rafraîchi. Et et j'ai aussi essayé que cellesSastriggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggiggigging, mais que ce ne fonctionnant pas
Tout d'abord, je voudrais rappeler l'utilisation de Par défaut, les événements déclenchés par ses objets enfants déclencheront une mise à jour, vous pouvez modifier ce paramètre de comportement Lorsque vous déclarez une gâchette dans la section code> code> de la section Lorsque vous appelez explicitement la Les messages de page complets déclencheront la mise à jour p> li>
ul> li>
ul> Le code suivant effectue les éléments suivants: p> Chaque updatepanel est mis à jour lorsque son enfant commande augmente un événement p> li>
Le UpdatePanel 1 nommé: L'UpdatePanel 2 nommé Le point updatepanel 2 nommé Le point updatepanel 2 nommé Je pense que cela modifie ce code, vous pouvez réaliser votre objectif souhaité, il suffit de la copier en coller sur une nouvelle page et de l'exécuter em> p> <> < / p> Vous pouvez modifier le updateemode code>
Toujours code> Le panneau mettra à jour son contenu
conditionnel code> Le contenu du panneau ne sera mis à jour que lorsque différentes conditions sont remplies: P>
ChildrenAsTriggers = "false" code> p> li>
update code> p> li>
updatepanel.update () code> méthode p> li>
up1 code> sera mis à jour uniquement strong> lorsque son enfant contrôle un événement P> LI>
UP2 code> sera mis à jour lorsque son enfant contrôle soulever un événement P> LI>
UP2 code> sera également mis à jour lorsque les déclencheurs définis sont tirés, dans ce cas, lorsque la liste code> Dropdownlist code> nommé
ddl1onPanel1 code> sur la UpdatePanel 1 tire son
SelectedIndexChanged code> p> li>
up2 code> sera également mis à jour lorsque la liste code> nom_fo> nommée
ddl2onpanel1 code> sur l'UPDOWPANEL 1 soulève son
SELECTELLIDEXCHANGED code>, car dans le code, cela appelle explicitement:
this.up2.update (); code> p> l> l>
ul>
vérifier le code suivant (Voyez comment les étiquettes montrant la date sont affectées de différentes manières en fonction des événements soulevés): h3>
code derrière h3>
aspx h3> < PRE> XXX PRE>
Sortie simple h3>
updateemode = "TOUJOURS" code> sur la carte UPDATE 2, pour voir la différence, si vous le faites, ce panneau sera mis à jour sur chaque poste, soit des messages complets ou les messages provenant de la UpdatePanel1 p> p>
J'ai utilisé cela avec succès pour 4 UpdatePanel.
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnableScriptGlobalization="true" CombineScripts="false" ScriptMode="Release"> </asp:ToolkitScriptManager>
Obtenez-vous une erreur?, Si puis collez ce message d'erreur?
Non, je ne reçois aucune erreur.
Avez-vous essayé au code BTNSearch_Click derrière vous pouvez mettre à jour les commandes de 2e panneau 2e!
Juste pour la clarté de tous ceux qui voient cela - «Trois listes de liste déroulante dans le premier panneau de mise à jour lorsque leur sélection de SECLEDEXCHANGE est tiré, le contenu de la deuxième mise à jour de mise à jour est également mises à jour» est-ce le problème? Mettre à jour le panneau 2 Se rafraîchir quand il ne devrait-il pas?
Oui exactement c'est le problème (problème).