/ / count du nombre de contrôles utilisés sur une page ASP.Net - asp.net

nombre de contrôles utilisés sur une page ASP.Net - asp.net

Existe-t-il un moyen d'obtenir le nombre de contrôles utilisés sur une page ASP.Net sans créer une instance de la classe Page?

Réponses:

1 pour la réponse № 1

Aspic.Les contrôles côté serveur net ne sont disponibles qu'après avoir créé l'instance de la page. Sauf si vous créez l'instance de la classe de page, il n'y a pas d'existence des contrôles et donc il n'est pas question de les compter.

D'après la description, je suppose que vous voulezsavoir combien de contrôles peuvent être créés à partir d'un balisage particulier (c'est-à-dire xxx.aspx page html). Je suggérerais quelques idées pour cela, je ne les ai pas utilisées moi-même mais je pourrais travailler pour vous.

  1. la page aspx contient essentiellement du xml afin que vous puissiezouvrez-le en tant que document xml et comptez toutes les balises définies par runat = "server". Cela vous donnerait le nombre de nœuds contenant cet attribut, qui sont les contrôles côté serveur

  2. Lisez le contenu du fichier aspx et comptez l'instance de la chaîne particulière "runat = server" qui vous donnera les mêmes résultats mais de manière plus simple

  3. Ouvrez la page aspx en utilisant le pack d'agilité html et faites la même chose que vous avez fait en 1 et 2 ci-dessus.

Essentiellement, vous inspectez le balisage qui peut entraîner un contrôle côté serveur lorsqu'une instance de la page est créée.

Rappelez-vous ici que les contrôles qui sont créés dynamiquement à partir de code derrière ne seront pas comptés, seuls ceux qui sont créés à l'aide de Designer seront comptés.


0 pour la réponse № 2

Vous pouvez utiliser une méthode comme:

public int CountControls(Control top)
{
int cnt = 1;
foreach (Control c in top.Controls)
cnt += CountControls(c);
return cnt;
}

Et appelle ça comme

CountControls(Page);

ou même

 int count =Page.Controls.Count;