C# 重新排序asp.net页上的控件

C# 重新排序asp.net页上的控件,c#,asp.net,controls,servercontrols,C#,Asp.net,Controls,Servercontrols,是否可以对静态放置在页面上的HtmlGenericControls进行重新排序?例如,我有一个菜单,每个部分都有一个容器元素。我想重新排列各部分的位置 <!-- hard coded in master page frontend --> <!-- In Masterpage frontend --> <div runat="server" id="menuItem1"> </div> <div r

是否可以对静态放置在页面上的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>

有没有办法重新排列前三个控件的显示顺序


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

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

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

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

我应该在哪个事件中执行此操作?页面加载?谢谢!我想你可以在
Page\u Load
Page\u Init
中完成。