2008-10-07 8 views
0

J'ai un problème concernant l'obtention du chemin d'un contrôle utilisateur. Le scénario est le suivant:Chemin physique d'usercontrol (asp.net)

Dans un aspx, j'ai plusieurs contrôles utilisateur. Dans l'un de ces conrtols utilisateur, je dois parcourir les autres commandes utilisateur et obtenir leur chemin physique. Y a-t-il un moyen facile de faire cela?

Répondre

3
List<string> GetUserControlPathsForPage { 
    var list = new List<string>(); 
    return getUserControlPathsRecursive(Page.Controls, list); 
} 

void getPathsRecursive(ControlCollection controls, List<string> list) { 
    foreach (var c in controls) { 
     var uc = c as UserControl; 
     if (uc != null) { 
      list.Add(Server.MapPath(uc.AppRelativeVirtualPath)); 
     } 
     getPathsRecursive(c.Controls,list); 
    } 
} 
Questions connexes