2009-11-16 4 views
1

Salutations,ASP.NET AJAX pageLoad() avec plusieurs UpdatePanels

Je travaille avec des gars qui développent une application avec des panneaux de mise à jour.

Je voudrais utiliser le datepicker jQuery sur un champ de texte qui fait partie d'une ligne qui peut être ajouté à plusieurs reprises via ce panneau de mise à jour, et j'ai le JavaScript ci-dessous pour travailler avec succès:

function pageLoad(sender, args) 
{ 
    if(args.get_isPartialLoad()) 
    { 
     $(".datepicker").datepicker({ //rebind to all step datepickers 
     duration: '' 
     }); 
    } 
} 

Cependant, il existe plusieurs panneaux de mise à jour sur cette page. Il est donc déclenché lorsqu'ils sont tous mis à jour. Est-il possible d'ajouter un paramètre ou un élément similaire?

Merci, Chris

Répondre

1

L'événement pageLoaded de PageRequestManager contient plus d'informations. Les arguments ont une propriété get_panelsUpdated et get_panelsCreated (pour les panneaux de mise à jour imbriqués). Vous pouvez l'utiliser pour déterminer quels UpdatePanels ont été mis à jour. Vous pourriez probablement simplement passer le div panneau de mise à jour lui-même dans le sélecteur jquery pour filtrer uniquement les éléments à l'intérieur.

+0

grâce à vous deux! –

1

Il est difficile de voir exactement ce que vous faites sans des exemples de code, mais une des sources de chose à l'esprit: êtes-vous vous assurer que votre UpdatePanels mettent à jour seulement quand ils doivent, comme ensemble par le paramètre UpdateMode?

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server"> 

Les UpdateMode par défaut toujours, ce qui signifie que s'il y a beaucoup de UpdatePanels sur une page, ils seront tous mise à jour si l'un d'eux est mise à jour, ce qui est généralement ce que vous voulez.

Questions connexes