J'utilise C#, .NET 3.5. J'ai un contrôle GridView avec DataSource lié dynamiquement et j'ai défini dynamiquement le PageSize dans le gestionnaire d'événements Page_Load. J'ai défini AllowPaging = true sur le contrôle. La pagination GridView fonctionne correctement, mais la mise en page définie dans Page_Load ne prend pas effet la première fois que la page est chargée. La première fois que la page est chargée, il affichera toujours 10 lignes indépendamment de la propriété GridView.PageSize que j'ai définie (5, 15 etc). Après la 1ère fois (publication de page), la taille de la page prend effet et tout fonctionne comme prévu.GridView.PageSize défini sur la valeur par défaut 10 lors du chargement de la première page
La taille de page est une propriété de la page principale que je reçois du fichier web.Config sous appsettings.
Je ne sais pas pourquoi la mise en page de gridView ne prend pas effet la première fois. Dois-je définir la taille de la page dans un autre événement autre que le Page_Load. Aussi, je le mets toujours, même si c'est un postback. Je cours la page en utilisant le serveur Web interne. Une idée de ce qui se passe?
Codederrière (GridView1.AllowPaging = true à la page ASPX):
protected void Page_Load(object sender, System.EventArgs e)
{
DataView dvMembers = GetMembers;
GridView1.DataSource = dvMembers;
GridView1.PageSize = Master.GridViewSize;
}
maître propriété page:
public int GridViewSize
{
get { return Convert.ToInt32
(ConfigurationManager.AppSettings ["memberDataGridPageSize"]); }
}
Master.GridViewSize est une propriété de la page maître et n'est pas définie dans l'événement Page_Load. Et quand je débogue la page de contenu pour voir sa valeur dans le gestionnaire d'événements Page_Load, il est déjà défini. Donc je ne pense pas que ce soit le problème. À quel événement pensez-vous que je devrais définir la taille de la page de grille? – Pritika
Si la valeur est définie la première fois, ce n'est pas le problème. Que se passe-t-il si vous codez en dur un PageSize? –
Aussi, où est votre appel à GridView1.DataBind() ou Page.DataBind()? –