是否可以重新排序静态放在页面上的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>
有没有办法重新排序前三个控件的显示......
我知道这很奇怪,所以请尽量专注于这个问题
答案 0 :(得分:3)
您可以获取对父控件的引用,并按所需顺序重新添加控件:
var parent = menuItem1.Parent;
parent.Controls.Add(menuItem2);
parent.Controls.Add(menuItem1);
parent.Controls.Add(menuItem3);
在此示例中,divs
将重新排序为menuItem2
,menuItem1
,menuItem3
。请注意,如果同一容器中已存在其他控件,则还会将它们移动到最后。如果您想要更好地控制展示位置,可以使用.Controls.AddAt
添加指定的索引。