【问题标题】:Reordering controls on asp.net page在 asp.net 页面上重新排序控件
【发布时间】:2013-01-05 04:07:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net controls servercontrols


    【解决方案1】:

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

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

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

    【讨论】:

    • 我应该在哪个事件中这样做?在页面加载?谢谢!
    • 我想你可以在Page_LoadPage_Init 做。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    相关资源
    最近更新 更多