Linkbutton à l'intérieur de Répétition pour la pagination ASP.Net
Je suis en train de faire une page web avec une recherche qui apporte beaucoup d'informations à partir de MSSQL. Ce que j'ai fait est une procédure stockée qui retourne uniquement la page pour être vu sur le site.
Ce moment, je travaille sur l'échange que j'ai besoin de montrer quelque chose de similaire à celle de google. Si vous êtes à la page 1, ils montrent des 10 premières pages et si vous êtes à la page 19 ils montrent depuis la page 9 de 28.
Je pense que la meilleure option pour afficher les numéros de page est à l'aide d'un linkbutton à l'intérieur d'un répéteur. Le problème que j'ai maintenant c'est que je ne sais pas la meilleure façon de prendre le numéro de la page de publication.
De faire un rapide exemple, j'ai attribué une liste de tableaux à répétition.source de données:
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Container.DataItem %>"><%# Container.DataItem %></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="4654">Test #1</asp:LinkButton>
À mon Défaut.aspx.cs fichier j'ai le code suivant
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
string x = LinkButton2.CommandArgument;
//string y = LinkButton1.CommandArgument;
//I know this line will not work since the Linkbutton1 is inside the Repeater.
}
Que dois-je faire pour que cela fonctionne?
Quelqu'un a une meilleure solution pour cette pagination?
Merci
Jerry
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour le ItemCommand événement:
Code derrière:
... mais êtes-vous vraiment sûr que vous avez besoin de la LinkButton? Une simple balise d'ancrage HTML pourrait fonctionner tout aussi bien, et c'est moins fuzz. 🙂
Juste une pensée, avez-vous essayé d'utiliser un "DataGrid" objet, l'ajout d'une colonne, il est un élément de modèle, puis mettre dans les éléments que vous devez répéter dans le modèle de mise en forme. Le contrôle DataGrid aussi s'occupe automatiquement de pagination lorsque la valeur est true...
Vous n'avez jamais dit ce type de contrôle, il est de votre échange. Si vous utilisez ASP.Net 3.5 alors je vous suggère FORTEMENT d'utiliser la liste de contrôle et la manipulation de la pagination avec le contrôle DataPager.
J'ai utilisé @JakobGade et c'est ce qui a fonctionné pour moi:
Puis testé dans le code-behind: