gpt4 book ai didi

c# - 从代码隐藏更新进度条

转载 作者:行者123 更新时间:2023-11-30 15:36:37 24 4
gpt4 key购买 nike

我的一个网页上有一个非常长的 submit() 类型的函数,它完全在服务器上运行,我想向客户端显示一个进度条以显示,嗯,进步了。

只要我能向他们展示一些东西,我就可以按 20% 的间隔更新它。

这可能吗?也许某种控制与 runat="server"?我有点迷失在这里的想法。

最佳答案

可能,但是在基于网络的环境中比在基于桌面的环境中要难得多。

您需要做的是向服务器提交请求,让服务器启动异步任务,然后将响应发送回客户端。然后,客户端将需要定期轮询服务器(可能/理想情况下使用 AJAX)以获取更新。服务器将希望在长时间运行的任务主体内设置一个 Session 值(或使用其他一些存储状态的方法),客户端的轮询方法可以访问该值。

它令人讨厌、困惑且效率低下,因此如果有很多用户执行此操作,您不会希望这样做。

Here是 Microsoft 的示例实现。请注意,此示例使用了 UpdatePanel 对象、ASP 计时器等,这使得代码编写起来相当简单(但仍然不是那么漂亮),但这些组件相当“重”。使用明确的 AJAX 调用、创建 Web 方法而不是进行完整的回发等将大大提高性能。正如我所说,即使在最好的情况下,这也是一场性能噩梦。如果您有很多用户或者如果这是执行非常频繁的操作,请不要这样做。如果它只是供一小部分管理员用户偶尔使用,那么这可能不是问题,而且从用户的角度来看,它确实增加了很多。

关于c# - 从代码隐藏更新进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com