Hola que tal, estoy desarrollando un sitio web con asp.net y c# en el cual tengo que realizar un inventario de todos los controles que contiene cada uno de los webform del sitio. El problema con el cual me estoy enfrentando es en la deteccion de los controles ya que no he encontrado forma alguna de hacer el recorrido de los mismos dentro de un webform.. y no me refiero al tipico
foreach (Control ctrl in Pge.Controls){}
Si no que tengo que tomar toda la carpeta del Sitio, buscar todos los archivos que sean de tipo webform y por cada uno de estos "leerlo" y obtener los controles que la conforman, por ejemplo tengo el siguiente archivo Default.aspx.cs :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
</div>
</form>
</body>
</html>
Lo que pretendo es obtener el siguiente listado
Pagina : Default.aspx.cs
Control : Label1 Tipo:Label
Control : Button1 Tipo:Button
Control : DropDownList1 Tipo:DropDownList
Control : ListBox1 Tipo:ListBox
Si me pueden dar alguna sugerencia, de antemano Gracias. Saludos.