2008-10-07 89 views
0

我有關於獲取用戶控件的路徑的問題。場景如下:用戶控件的物理路徑(asp.net)

在一個aspx我有多個用戶控件。在其中一個用戶控件中,我需要循環訪問其他用戶控件並獲取它們的物理路徑。有沒有簡單的方法來做到這一點?

回答

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); 
    } 
}