Comment puis-je obtenir les ASP.NET DataPager contrôle de travailler dans un UpdatePanel?
J'ai une page de recherche avec les paramètres en haut et un bouton de recherche avec des résultats au fond. La chose entière est enveloppée dans un panneau de mise à jour à l'intérieur de la page maître. Après avoir cliqué sur le bouton de recherche, il affiche la première page. Toutefois, si vous cliquez sur le bouton suivant dans la DataPager il ne pas afficher la deuxième page. Il ne montre pas de résultats pour la seconde page. Toute aide serait grandement appréciée.
Vous devez vous connecter pour publier un commentaire.
Je pense que Nick a la bonne idée. Il semble que vous effectuez votre recherche, et le remplissage de votre ListView dans votre méthode OnClick pour votre bouton de recherche. Vous devez effectuer votre recherche (ou, de préférence, de mettre en cache les données de la première fois) et les lier à la ListView pour chaque nouvelle page qui est demandée à l'aide de la DataPager.
Vous pouvez le faire assez facilement en créant une méthode pour la liste de OnPagePropertiesChanged événement. Effectuer la recherche (ou de tirer à partir du cache) et de lier la ListView dans ce OnPagePropertiesChanged de l'événement et de vos données doit remplir. Votre code C# pourrait ressembler à ceci:
Il semble que votre contrôle n'est pas obligatoire dans la publication, auquel cas tu fais la DataBind (), et c'est en vertu d'un
if(!IsPostBack) { }
wrapper de la sorte?
Assurez-vous que votre changement de page de l'événement est enregistré avec le Gestionnaire de Script comme il est de la mise à jour du panneau de contrôle.
ScriptManager.RegisterAsyncPostBackControl(DatePager De Contrôle);
Au bas de votre panneau de mise à jour ce faire:
J'ai eu un problème similaire lors de l'utilisation d'un
DataPager
sur un contrôle de données oùEnableViewState=false
.