我有3个面板:
<asp:Panel ID="ParentPanel" runat="server">
<asp:Panel ID="AnnoyingPanel" runat="server">
<asp:Panel ID="P" runat="server">
</asp:Panel>
</asp:Panel>
</asp:Panel>
Run Code Online (Sandbox Code Playgroud)
我怎样才能检查P
孩子是否是ParentPanel
?是否有一些LINQish方法可以做到这一点?
有没有比我提供的更优化的方式?也许使用Linq?
Bru*_*oLM 10
我最终做了一个递归扩展方法
public static bool IsChildOf(this Control c, Control parent)
{
return ((c.Parent != null && c.Parent == parent) || (c.Parent != null ? c.Parent.IsChildOf(parent) : false));
}
Run Code Online (Sandbox Code Playgroud)
导致
P.IsChildOf(ParentPanel); // true
ParentPanel.IsChildOf(P); // false
Run Code Online (Sandbox Code Playgroud)