C# 控制动态AJAX用户控件的加载顺序

C# 控制动态AJAX用户控件的加载顺序,c#,asp.net,ajax,user-controls,updatepanel,C#,Asp.net,Ajax,User Controls,Updatepanel,我构建了一个显示“小部件”(服务器端用户控件)的“门户”。该页面包含两列,每列包含一个updatepanel。每个小部件都包含一个updatepanel和multiview,默认视图显示“正在加载”消息,第二个视图包含实际内容 当用户登录时,我查询数据库以获得用户可以访问的小部件列表,以及它们的列和订单号。在PageInit期间,我按照指示的顺序将所有小部件添加到页面的列中。一旦页面加载,每个小部件上的计时器就会启动,小部件的多视图从“加载”视图切换到内容视图,并将内容的可见性设置为true。这

我构建了一个显示“小部件”(服务器端用户控件)的“门户”。该页面包含两列,每列包含一个updatepanel。每个小部件都包含一个updatepanel和multiview,默认视图显示“正在加载”消息,第二个视图包含实际内容

当用户登录时,我查询数据库以获得用户可以访问的小部件列表,以及它们的列和订单号。在PageInit期间,我按照指示的顺序将所有小部件添加到页面的列中。一旦页面加载,每个小部件上的计时器就会启动,小部件的多视图从“加载”视图切换到内容视图,并将内容的可见性设置为true。这将强制加载内容

以这种方式设置加载会使页面加载看起来更快,因为它在初始页面加载之后才处理任何小部件数据。这一切都很好,但我有一个小部件加载顺序的问题


当前,页面加载和小部件将开始从左栏的顶部向下加载到底部,然后开始加载右栏的顶部。该页面可能有许多小部件,因此我在等待完整的左列加载时,会盯着右侧的一堆加载消息我真的希望能够在两列之间从上到下加载,而不是整个左列,然后是右列。例如,加载左列中的第一个小部件,然后加载右列中的第一个小部件,依此类推。这样,用户就可以看到页面顶部的内容,而不是盯着一堆加载消息,并在页面加载时向下滚动页面。

我觉得您需要更改页面中的加载顺序,以便:

  • 列1,小部件1
  • 列2小部件1
  • 第1列,小部件2
  • 第2列,小部件2

我正在以从数据库返回的任何顺序(按订单号排序)添加小部件。我循环遍历每个小部件,并有一个switch语句来检查它所属的列并添加它。所以我基本上已经这样做了。只是澄清一下,当页面加载时,页面上已经显示了所有容器(带有加载消息)。然后,它们一次切换一个并显示数据。我的问题是,他们一次一列地从左栏往下走,然后转到右栏。容器插入顺序似乎不会影响这一点。