2

是否可以重新排序静态放置在页面上的 HtmlGenericControls?例如,我有一个菜单,每个部分都有一个容器元素。我想重新排列这些部分的位置。

<!-- hard coded in master page frontend -->

    <!-- In Masterpage frontend -->
    <div runat="server" id="menuItem1">    
    </div>

    <div runat="server" id="menuItem2">    
    </div>

    <div runat="server" id="menuItem3">    
    </div>

有什么方法可以重新排序前三个控件的显示...

我知道这很奇怪,所以请试着专注于这个问题

4

1 回答 1

3

您可以获取对父控件的引用,然后按您想要的顺序重新添加控件:

var parent = menuItem1.Parent;
parent.Controls.Add(menuItem2);
parent.Controls.Add(menuItem1);
parent.Controls.Add(menuItem3);

在此示例中,divs将重新排序为menuItem2, menuItem1, menuItem3。请注意,如果同一个容器中已经有其他控件,这也会将它们移动到最后。如果您想对放置进行更多控制,可以使用.Controls.AddAt在指定索引处添加。

于 2013-01-22T01:00:22.370 回答