重新排序ASP.NET页面上usercontrols的位置

时间:2012-07-03 16:11:06

标签: c# jquery asp.net webforms

我正在处理具有以特定布局排列的用户控件的页面。我正在修改该页面以支持根据用户的偏好重新排序位置。所以,基本上,在加载时,我有关于我需要在哪里定位不同用户控件的信息。

我可以想到两种方法:

  • 在客户端进行重新排序。这对用户来说并不理想 因为他们看到重新排序正在发生。
  • 在服务器端进行重新排序。这需要我做很多事情 重写以根据首选项动态加载用户控件。

有没有其他方法可以完成我想要做的事情?

2 个答案:

答案 0 :(得分:1)

我建议在客户端进行重新排列,因为

  1. 您将保存一个回复。
  2. 您将使网站无缝。
  3. 你怎么能

    1. 使用包含所有控件的主div和包含加载图像的另一个。在使用javascript或
    2. 重新排列控件时切换可见性
    3. 您可以设置可见性:隐藏到您的身体,然后重新排列设置可见性:可见
    4. 这种方法的缺点是你必须使用绝对定位。

答案 1 :(得分:0)

有一种更简单的方法;渲染由呈现它们的父容器控制。可以创建容器,并完全控制其子项呈现的顺序(通过重写RenderChildren方法)。这不是最简单的选择,但它可以工作。步骤是:

  • 创建一个继承自ContainerControl的类
  • 覆盖RenderChildren方法
  • 在此方法中,它将呈现容器中的子项,覆盖它,不调用它的基类版本,并将实例获取到控件并呈现它们。这就是出现并发症的原因,因为你必须这样做。
相关问题