【发布时间】:2014-09-26 23:36:58
【问题描述】:
我有一个漫长的过程,我想向用户显示一个进度条,在该进度条中我将参数(百分比)传递给我的 Web 表单中的 Javascript 函数,其中包含母版页。
我有这个:
<script type="text/javascript">
function updateProgress(percentage) {
document.getElementById('ProgressBar').style.width = percentage+"%";
}
</script>
和:
<div class="progress progress-striped active progress-success" style="height: 43px">
<div id="ProgressBar" class="progress-bar" role="progressbar" runat="server"
aria-valuemin="0" aria-valuemax="100" style="width: 0%">
</div>
</div>
在我的代码隐藏中,我有这个将参数传递给函数:
// Report progress >> ~ 18%
string updateProgress = "18";
ClientScript.RegisterStartupScript(this.GetType(), "updateProgress", "updateProgress('" + updateProgress + "');", true);
当我运行代码时,进度条永远不会从 0% 开始移动。我想通过使用新参数再次调用函数来不断更新后面代码的完成百分比,直到达到 100%。
我浏览了论坛,但看不到我需要做些什么才能使其正常工作。
有什么想法吗?
【问题讨论】:
-
您的服务器代码注册了一个脚本,该脚本将在当您向客户端返回响应时执行。在 Web 应用程序中,服务器和客户端大部分时间都是断开连接的。就像寄信一样。客户正在等待您的回复,您无法在写作时向他们提供状态更新。
-
好问题。您是否在此过程中访问数据库?
-
请原谅我在 Javascript 方面缺乏专业知识。 @RobH 我愿意接受任何其他方式来实现我的要求。
-
@lalborno。是的,在此过程中会执行财务计算,并且对许多表进行大量查询。
-
你不需要 SignalR。您可以使用
WebMethods 和 JavaScript 来实现它。
标签: c# javascript asp.net webforms