ASP.NET AJAX延迟

时间:2011-11-03 11:28:25

标签: asp.net ajax

我正在使用VS2010,C#来开发我的ASP.NET Web应用程序。我有一个用于选择省的组合框和另一个用于选择城市的组合框,当用户选择省时,城市组合框应该立即显示属于该省的城市。 我已经在我的页面中插入了一个AJAX脚本管理器,也是一个AJAX更新面板(都来自工具箱),我在其中插入了我的组合框。然后我启用了省组合框autopostback属性,以便当用户更改其选择时,我可以检测到它并相应地更改城市组合框的内容。 它运行正常,因为我在页面启动时将我的数据库中的省和城市名称加载到列表中(当然这个加载过程在if(!IsPostback)语句中执行,因此数据只加载一次)。我认为更新城市组合框所需的时间比需要的时间多一些,因为当用户更改省组合框选择时有回发,执行此操作的最佳(和正确)方式是什么?好吗?有没有更好的方法呢?如何更改省组合框选择后,我怎么能立即更新城市组合框,因为目前有短暂的延迟。

感谢

1 个答案:

答案 0 :(得分:0)

如果你在服务器端使用ASP.NET回发,那么你总是会有延迟。

另一种选择是在初始加载时向您的页面输出一些JSON,其中包含所有省份的数组,每个省都有一个嵌套数组,包含各自的城市。

然后你可以删除自动回发并使用JavaScript完成客户端的所有操作。每当所选省份发生变化时,您只需要解析您的JSON并将所有关联的城市添加到第二个下拉列表中。