2012-03-28 65 views
0

我有一个页面使用Ajax更新面板来处理一段数据,而不进行完整的回发。该面板包含大约八个字段,其中包括一个可以变得非常大(7500+项)的下拉列表。Ajax UpdatePanel w/large下拉列表 - 发布时的滞后时间

当最初加载表单时,填充下拉列表可以为加载时间增加几秒钟,而且我的用户也可以。

但是,在用户单击按钮将数据保存到更新面板后,我也看到一个明显的暂停。我已经证明,滞后时间只发生在下拉列表中有大量数据时,并且似乎没有任何特定的代码行是负责任的......只是存在大量下拉菜单似乎在更新时间将事情弄糟。我尝试关闭控件上的“EnableViewState”,而没有任何影响。

对于大的下拉菜单,这是正常的吗?我只需要忍受它和/或重新设计?或者任何人都可以推荐解决方案我发现奇怪的是,更新的延迟实际上比原始的加载时间延迟更长,并且我的客户对重新设计的阻力很大。

回答

0

在UpdatePanel之外移动您的DropDownList(以及不需要在asyncpostback上重建的任何其他控件)。当UpdatePanel更新时,它会重建<ContentTemplate>内的控件的所有html。如果你不需要重建那个下拉菜单,它不应该在那里。根据页面布局的不同,您可能需要使用多个UpdatePanel。