2010-04-29 2 views

Répondre

1

Vous devez ajouter un champ querystring indiquant le numéro de page de chacun de vos liens. Ensuite, vous devez définir l'attribut querystringfield du contrôle Datapager égal au nom de ce champ Querystring.

Par exemple:

<asp:DataPager ID="dpItems" runat="server" PagedControlID="lvItems" PageSize="10" QueryStringField="pageNumber"> 

De MSDN: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datapager.querystringfield.aspx

Si vous voulez faire le calcul de radiomessagerie vous, vous pouvez également définir la propriété StartRowIndex lors de l'exécution. Vous ne pouvez pas, cependant, définir la page directement. Par exemple, si vous affichez 10 enregistrements par page et que vous souhaitez afficher la deuxième page, définissez myDataPager.StartRowIndex = 20 dans votre code d'exécution.

Alternativement, le datapager peut gérer ce calcul automatiquement et générer les contrôles de pagination lorsque vous configurez les champs du datapager et définissez la valeur querystringfield. Vous pouvez utiliser les boutons Suivant/Précédent, les liens de page numériques ou définir vos propres contrôles de pagination dans un modèle.

Si la définition de vos propres contrôles de pagination, votre pourrait ressembler à ceci:

Puis dans le cas OnDataBound des lvItems, prenez le placeholder (Placeholder) lvItems.FindControl ("phPageNumberButtons") puis ajoutez vos contrôles à l'espace réservé.

Aussi, assurez-vous que vous définissez PagedControlID égale à l'ID de votre listview

Voici un lien vers l'article MSDN où vous pouvez obtenir plus d'informations sur les champs: msdn.microsoft.com/en-us/library/

+0

OK, je peux obtenir et définir la chaîne de requête, mais il revient toujours à la page 1 de retour lorsque je clique sur un lien dans le listview. Je m'attendais à définir une propriété datapager avec le numéro de chaîne de requête, mais je ne trouve aucune propriété de ce type. Peut-être que cela est fait automatiquement mais ne fonctionne pas. J'ai utilisé votre code ci-dessus et ajouté ce code aux liens "& pageNumber =" + dataPagerBottom.QueryStringField. Est-ce que je manque quelque chose? Je – insanepaul

+0

juste besoin de savoir ce qu'il faut faire pour régler le numéro de page lors de l'exécution – insanepaul

+0

vous avez pu comprendre cela? – balazs