Наконец-то я нашел решение и подробно объясню
создайте «панель управления» и назовите ее «myPanel» и вставьте в нее все элементы управления, которые вы хотите использовать
<asp:Panel ID="myPanel" runat="server">
<asp:Panel ID="dock1" runat="server">this is first module</asp:Panel>
<asp:Panel ID="dock2" runat="server">this is second module</asp:Panel>
<asp:Panel ID="dock3" runat="server">this is third module</asp:Panel>
</asp:Panel>
вывод будет следующим
это первый модуль
это второй модуль
это третий модуль
так что я должен сделать, чтобы изменить их порядок, давайте посмотрим
Я создал еще три панели, которые будут действовать как контейнеры для доков
мой код будет таким
<asp:Panel ID="myPanel" runat="server">
<asp:Panel ID="container1" runat="server"></asp:Panel>
<asp:Panel ID="container2" runat="server"></asp:Panel>
<asp:Panel ID="container3" runat="server"></asp:Panel>
<asp:Panel ID="dock1" runat="server">this is first module</asp:Panel>
<asp:Panel ID="dock2" runat="server">this is second module</asp:Panel>
<asp:Panel ID="dock3" runat="server">this is third module</asp:Panel>
</asp:Panel>
в коде позади у меня есть что-то вроде этого
это удалит элемент управления dock1 из mypanel и поместит его в контейнер3
Control myCtrl1 = myPanel.FindControl("dock1");
Control containerCtrl1 = myPanel.FindControl("container3");
myCtrl1.Visible = true;
myPanel.Controls.Remove(myCtrl1);
containerCtrl1 .Controls.Add(myCtrl1);
и вы можете управлять этими вещами в зависимости от предпочтений пользователя из базы данных или файлов cookie
С наилучшими пожеланиями