Asp.net Gridview中父容器和NamingContainer之间的区别是什么

Asp.net Gridview中父容器和NamingContainer之间的区别是什么,asp.net,gridview,Asp.net,Gridview,这两种说法有什么区别?特别是,我感兴趣的是哪一个更优化 GridViewRow currentItem = (GridViewRow)drp_Vendor.Parent; 及 基本区别在于NamingContainer将在控制树中向上导航,直到找到作为命名容器的祖先(实现接口),而Parent将在控制树中返回直接的父级 在您的示例中,GridViewRow似乎既是drp_供应商控件的直接父级,也是命名容器 但是,例如,如果将drp_供应商控件放在模板字段中的面板中,则父控件将是面板,而Nami

这两种说法有什么区别?特别是,我感兴趣的是哪一个更优化

GridViewRow currentItem = (GridViewRow)drp_Vendor.Parent;


基本区别在于
NamingContainer
将在控制树中向上导航,直到找到作为命名容器的祖先(实现接口),而
Parent
将在控制树中返回直接的父级

在您的示例中,GridViewRow似乎既是drp_供应商控件的直接父级,也是命名容器

但是,例如,如果将drp_供应商控件放在
模板字段中的
面板中,则父控件将是面板,而NamingContainer将是GridViewRow

至于哪一个是“最优化的”,父属性的
速度会稍微快一点,但差别不大

GridViewRow currentItem = (GridViewRow)drp_Vendor.NamingContainer;