2010-10-13 5 views
1

J'ai un contrôle personnalisé qui est un wrapper autour de ASPxGridView. Ce contrôle personnalisé est imbriqué dans un UpdatePanel. Dans l'une de ses colonnes, j'ajoute un LinkButton, que j'inscris en appelant ScriptManager.RegisterPostBackControl.Appel de ScriptManager.RegisterPostBackControl pendant un AsyncPostBack

La grille est activée pour la pagination. La pagination est bien sûr effectuée pendant un AsyncPostBack. Lorsque la grille affiche sa première page, tout fonctionne comme prévu: le bouton est cliqué provoquant un PostBack. Cependant, si la page en cours n'est pas la première, cliquer sur le bouton une fois ne provoque pas de PostBack et cliquer à nouveau dessus (en fait, cliquer sur un bouton dans la colonne) génère une erreur.

Cette même erreur est renvoyée si je commente la ligne qui enregistre le bouton à l'aide de ScriptManager et cliquez sur un bouton lors de la première page. Cela m'amène à penser que les boutons de la première page sont enregistrés correctement parce que cela est fait pendant un PostBack, et que l'enregistrement des boutons dans une autre page échoue (pour une raison quelconque) parce que c'est fait pendant un PostBack. AsyncPostBack.

Des pensées? Une solution possible?

Merci à l'avance

Répondre

0

Je l'ai résolu en réglant le de ASPxGridView EnableCallbacks propriété à faux.

0

Je pense que vous devez vous réinscrire votre Javascript qui contrôle votre bouton après l'UpdatePanel. Pour ce faire:

var prm = Sys.WebForms.PageRequestManager.getInstance();  
prm.add_initializeRequest(InitializeRequest); 
prm.add_endRequest(EndRequest); 

function InitializeRequest(sender, args) {  
} 

function EndRequest(sender, args) { 
} 

Assurez-vous d'exécuter ce stript après la PageLoad, ou après le gestionnaire de script, pour donner le temps à la page pour charger un objet Sys.

+0

Merci pour votre aide. – gabrielmaldi

Questions connexes