【问题标题】:C# drop downlist selected index changes taking lot of timeC# 下拉列表选择的索引更改需要很多时间
【发布时间】:2012-11-14 22:10:06
【问题描述】:

我有一个带有计时器控件、1 个更新面板、几个下拉菜单等的网页。 所选索引更改的许多下拉菜单需要显示超过 1 个附加控件或隐藏某些控件。问题是它需要很长时间,用户没有意识到它尚未完成事件点击。请建议一些想法。

【问题讨论】:

  • 为什么需要很长时间?
  • 1.编写更高效的代码,或者 2. 购买更快的 Web 服务器,或者 3. 不要使用每次 UI 交互都需要往返服务器的 Web 堆栈

标签: c# asp.net webforms


【解决方案1】:

如果需要很长时间,我假设您正在使用服务器端事件处理程序来处理您的下拉选择更改。当服务器端事件触发时,这意味着您的表单被发送回服务器,服务器重新呈现表单并将其发送回客户端,然后客户端替换更新面板的内容。因此,用户会受到多种可能导致速度缓慢的因素的影响。

如果您可以选择,您可以重新设计页面,以便在客户端完成事件处理。您必须编写一些 JavaScript 代码并确保更新页面所需的数据可用于您的 JavaScript。如果您不能公开更新纯客户端所需的所有数据,您可以执行 Ajax 调用来获取您需要的数据;这应该比完整的部分回发更轻量级。

所有这些工作量很大,但应该会使您的页面更快。当然,也许你真的不需要解决页面的速度问题,而是提供更好的反馈让用户知道页面正在更新。例如,如果您在进行部分回发时有一个“正在加载...”指示符,那么用户就会知道要等待。

【讨论】:

  • 感谢雅各布的工作。我为回发使用了加载图像。最初我在客户端完成了大部分事件处理,但后来不得不添加一个保存计时器,然后是自定义富文本编辑器,因此客户端代码停止正常工作,因此将整个事件处理程序移至服务器端。
猜你喜欢
  • 2017-07-09
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
  • 2021-08-04
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多