2013-03-25 33 views
0

我在页面上嵌套了GridView(默认),我需要获取GridView的ID,但它返回null。我有一个嵌套的GridViews之外的UpdatePanel。它使用一个母版页。如何在页面上找到GridView

GridView gv = (GridView)UpdatePanel1.FindControl("GridViewSchedule"); 
+0

你确定gridview是在第一级? – 2013-03-25 22:50:50

+0

看看这个解决方案:[如何从嵌套的内部控制找到外部控制] [1] [1]:http://stackoverflow.com/questions/1371290/how-to-find-outer-control - 从嵌套-内控制 – jiiri 2013-03-25 22:52:41

回答

0

以下是递归查找控件的帮助方法。

public static Control FindControlRecursive(Control root, string id) 
{ 
    if (root.ID == id) 
     return root; 

    return root.Controls.Cast<Control>() 
     .Select(c => FindControlRecursive(c, id)) 
     .FirstOrDefault(c => c != null); 
} 

// Usage 
var gridView = FindControlRecursive(UpdatePanel1, "GridViewSchedule");