如何在asp.net中的另一个控件之前动态插入控件.让我们说control1是网页上的一些控件,我想在control1之前动态创建和插入一个表.
例如
table1 = new Table();
table1.ID = "Table1";
Run Code Online (Sandbox Code Playgroud)
接下来会发生什么?要添加一个控件作为一个孩子,我会这样做:control1.Controls.Add(table1);但我怎么能插入table1作为control1的前一个兄弟?
KP.*_*KP. 17
如果你想在新的控制(controlB)立即之前controlA,你可以决定的指标controlA中Page.Controls收集,并插入controlB在该位置.我相信这将controlA通过一个指数向前推进,使他们成为所需的直接兄弟姐妹.
if(Page.Controls.IndexOf(controlA) >= 0)
Page.Controls.AddAt(Page.Controls.IndexOf(controlA), controlB);
Run Code Online (Sandbox Code Playgroud)
编辑:
还有一点需要注意 - 上面假设控制A和B在根页面上.您还可以使用该Parent属性来确保兄弟插入无论controlA页面层次结构位于何处都可以正常工作:
Control parent = controlA.Parent;
if(parent != null && parent.Controls.IndexOf(controlA) >= 0)
{
parent.Controls.AddAt(parent.Controls.IndexOf(controlA), controlB);
}
Run Code Online (Sandbox Code Playgroud)
我实际上更喜欢这种方法,因为它更灵活,不依赖于Page.
| 归档时间: |
|
| 查看次数: |
6051 次 |
| 最近记录: |