J'ai deux UpdatePanels à l'intérieur d'un contrôle d'accordéon, disposés comme celui-ci:UpdatePanel rafraichit une seule fois
<accordion>
<first pane content>
<updatepanel UpdateMode="conditional">
<contenttemplate>...</contenttemplate>
<triggers>...</triggers>
</updatepanel>
</first pane content>
<second pane content>
<updatepanel>
<contenttemplate>...</contenttemplate>
<triggers>...</triggers>
</updatepanel>
</second pane content>
</accordion>
Le groupe met à jour une fois, mais après cela, aucune mise à jour ait lieu. Si je rafraîchis la page, alors je peux voir les informations mises à jour. Cela signifie que la base de données est en cours de mise à jour, mais le panneau de mise à jour n'est pas actualisé (après l'actualisation la première fois). Pourquoi cela arrive-t-il?
Cela m'a embêté pendant des jours, donc tout conseil serait très apprécié. Merci!
mise à jour
Le problème semble résider quand je l'appelle ceci:
Sys.require(Sys.components.accordion, function() {
$("#acca_profile").accordion({
HeaderCssClass: "acc_header",
HeaderSelectedCssClass: "acc_selectedheader",
FadeTransitions: true,
suppressHeaderPostbacks: true,
requireOpenedPane: false
});
});
dans la fonction endRequestHandler
. Cependant, si je ne l'appelle pas, alors la div qui devrait être convertie en accordéon n'est plus un accordéon.
Mise à jour 2
Après un peu plus de travail, je me suis le problème réside peut-être dans le fait que le Jquery ne reconsolidation les événements postérieurs à la postback partielle. Beaucoup de solutions prétendre que vous devez enregistrer le script client, mais je dois ce en haut de ma page ASPX:
<asp:ScriptManager runat="server" EnablePageMethods="true">
<Scripts>
... (autre script) Path = "http: // ajax. googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js »/>
</Scripts>
</asp:ScriptManager>
Comment puis-je rebind les événements JQuery dans mon code?
Je voudrais voir plus de code pour aider –
Avez-vous vérifié si vous obtenez des erreurs de javascript? Vous pouvez utiliser firebug ou tout ce que vous voulez faire. –
Ah, j'ai trouvé que l'erreur semble être dans une fonction appelée dans la section endRequestHandler. À l'heure actuelle, lorsque le panneau de mise à jour est actualisé, l'accordéon disparaît (c'est-à-dire que le javascript utilisé pour convertir un div en accordéon n'est plus exécuté). J'ai essayé de l'exécuter dans endRequestHandler, et bien que cela fonctionne, le rafraîchissement s'arrête. J'ai mis à jour mon message avec le code de l'accordéon. merci – XSL