AJAX可用于繁重的数据库操作

时间:2013-06-21 18:48:51

标签: c# asp.net ajax vb.net

我有一个Web应用程序,它有很多下拉列表和网格。

目前,当一个下拉列表的值发生变化时,相关下拉列表中的项目将被填充(繁重的数据库操作),并且实际上整个页面将发布到服务器。

问题是在这种情况下可以推荐Ajax吗?我听说Ajax只适用于轻型操作。

3 个答案:

答案 0 :(得分:3)

是的,它可以,只是给用户一些反馈,说明操作需要一段时间。在执行操作时显示消息或加载图像,然后在操作完成后将其隐藏。

答案 1 :(得分:2)

你可以使用ajax,但我想提供另一种解决方案......

使用ajax / post / whatever启动流程,然后使用以下方法之一定期请求反馈:

  • JS polling(setInterval)
  • 服务器发送事件
  • SignalR

这样,用户可以在等待操作完成时离开。收到“操作完成”反馈后,如果更合适,您可以通过整洁的页面内通知或电子邮件提醒用户。

答案 2 :(得分:1)

答案当然是你可以使用AJAX进行繁重的数据库操作,但也许更好的问题是你应该使用它;答案取决于它。剪刀适合剪纸,但不适合院子;适合工作的正确工具。

退一步,听起来您的开发技术选择可能是您问题的一部分,就像是否使用AJAX进行繁重的数据库调用一样。我的观点是,如果你试图避免页面的完整回发,那么你可能会考虑一个更基于客户端的实现(如KnockoutJS,Backbone,Ember,AngularJS等),它们可以使用对服务器的调用来获取屏幕特定部分所需的数据(通过视图模型)。