J'ai une page avec un UpdatePanel qui contient un répéteur et une zone de texte avec le nombre d'éléments dans le répéteur. Lorsque je change la valeur, la page est censée publier et redessiner le répéteur avec le nombre d'éléments mis à jour. Cela fonctionne en principe, mais la page finit gelé après les post-retours et n'accepte aucune entrée - dans IE 8 seulement. Cela fonctionne parfaitement bien dans Firefox. Par exemple, le menu contextuel n'apparaît pas lorsque je clique avec le bouton droit de la souris sur les contrôles et que je ne peux pas entrer de texte dans les zones de texte.La page de rendu UpdatePanel et Repeater ne répond pas après le post-retour
Lorsque je supprime le UpdatePanel, la page fonctionne correctement, mais elle s'actualise bien sûr à chaque événement post-retour. Ce n'est pas nécessairement lié au répéteur sur la page. Je pense que je vois cela sur d'autres pages. Quel est le truc ici?
<asp:UpdatePanel ID="uPanel" runat="server" UpdateMode="Conditional"
EnableViewState="true" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSubmit">
<asp:TextBox ID="tbItems" runat="server" AutoPostback="true"
OnTextChanged="textchanged_Items"/>
<asp:Repeater id="rptItems" runat="server"
OnItemDataBound="repeaterItem_Databound">
<...>
</asp:Repeater>
protected void textchanged_Items(object sender, EventArgs e) {
try {
// this methods rebinds the repeater to a List after changing
// the number of items in the list
ReflowItemRepeater();
// This is not really necessary, since Databind() appears to
// cause an update. I tried it anyways.
uPanel.Update();
}
catch (Exception ex) {
ShowError(this, "Error displaying the item list.", ex, true);
}
}
J'ai fini par supprimer le panneau de mise à jour.
Un mois plus tard, une page différente, je me bats encore et encore. La situation est la même. Un panneau de mise à jour, un répéteur (en réalité 2 répéteurs imbriqués) et un contrôle dans le répéteur qui déclenche un événement de publication. Le serveur traite l'événement correctement et renvoie le contrôle, mais le navigateur (IE8) n'actualise jamais le panneau de mise à jour. La page ne répond pas, comme si elle était dans une situation de blocage. Je peux le déverrouiller en cliquant sur un bouton qui déclenche un autre événement de publication (également dans le panneau de mise à jour). Mais les zones de texte dans le panneau ne sont pas cliquables ou modifiables lorsque cela se produit. En outre, il arrive seulement la première fois. Une fois que j'ai "libéré" le verrou, ou quoi que ce soit, cela ne se reproduira plus sur cette page, même si je répète exactement les mêmes étapes qui l'ont conduit.
Lorsque cela se produit, le débogueur JIT ne signale rien.
Il serait utile si vous pouviez fournir une page de test afin que nous puissions voir cela en action. –
travaillant dessus. affichera un lien. – cdonner
Erreur se produit dans IE7 ainsi –