2011-07-08 3 views
1

J'ai un <asp:DropDownList> qui est rempli par les éléments de la liste statique.OnDataBound non déclenché pour asp: DropDownList avec asp statique: ListItems

<asp:DropDownList ... OnDataBound="handlerMethod"> 
    <asp:ListItem Value="..." Text="..." /> 
    <asp:ListItem Value="..." Text="..." /> 
    <asp:ListItem Value="..." Text="..." /> 
</asp:DropDownList> 

Le problème est que l'événement OnDataBound ne se déclenche pas quand la liste est remplie. Je dois le déclencher pour remplir d'autres données à partir des éléments de la liste qui se trouvent dans la liste déroulante.

La documentation dit:

Cette méthode informe un contrôle serveur que toutes les données de liaison logique associée à la commande terminée.

Mes yeux sont rivés sur ce mot « logique » qui me fait chose que je manqué le point lorsque l'événement est déclenché

Mais si tel est le cas, comment puis-je obtenir l'événement déclenché ou quoi autre événement puis-je utiliser pour savoir quand la liste a fini d'être remplie?

+0

Avez-vous dit statique? Vous les tapez dans le fichier '.aspx'? Si oui, il ne sera pas déclenché. Je pense qu'il sera déclenché lorsque vous utilisez la méthode '.Bind'. – dpp

+0

@domanokz: Oui, je les tape dans .aspx. – brb

Répondre

2

Normalement, cela signifie que vous avez supprimé le AutoEventWireup="true" ou que vous l'avez défini sur false, et c'est pourquoi il ne procède pas au câblage de l'événement.

Cela peut également signifier qu'il y a quelque chose qui ne va pas dans le javascript qui ne permet plus l'exécution du code. Ouvrez l'inspecteur (Chrome, Safari ou Firebug dans Firefox - Ne comptez pas sur les outils de développement IE) et voyez si vous avez des erreurs javascript qui peuvent provoquer l'arrêt de la page.

Il peut aussi signifier que le handlerMethod n'est pas correctement mis en place, la meilleure façon est de supprimer la partie html OnDataBound="handlerMethod" et le code derrière de cette méthode, puis aller à design view, ouvrez la fenêtre Propriétés dans les événements et le double cliquez sur le OnDataBound, il va ajouter l'événement correctement. Mettre en place un point de rupture là et exécuter dans le débogage avec debug="true" dans votre fichier web.config.

+0

le handlerMethod est correctement configuré; J'ai vérifié ça. Je ne comprends pas vraiment votre premier point. Qu'est-ce que JavaScript a à faire avec ça? – brb

+0

il ne vous laissera jamais faire un post! – balexandre

Questions connexes