`
isiqi
  • 浏览: 16826689 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

利用Asp.Net回调机制实现进度条

阅读更多
本文将利用Asp.Net的回调机制使用Js实现一个简易进度条,其效果如下:
进度条效果图
首先,在HTML文档中加入如下代码:
  1. <div>
  2. <tableclass="statusTable">
  3. <tr>
  4. <tdid="progress1">
  5. </td>
  6. <tdid="progress2">
  7. </td>
  8. <tdid="progress3">
  9. </td>
  10. <tdid="progress4">
  11. </td>
  12. <tdid="progress5">
  13. </td>
  14. <tdid="progress6">
  15. </td>
  16. <tdid="progress7">
  17. </td>
  18. <tdid="progress8">
  19. </td>
  20. <tdid="progress9">
  21. </td>
  22. <tdid="progress10">
  23. </td>
  24. </tr>
  25. </table>
  26. <asp:LabelID="Label1"runat="server"ForeColor="Red"Text="0"></asp:Label>
  27. </div>
  28. <div>
  29. <inputid="btnRequest"type="button"value="请求"onclick="Request()"/>
  30. <inputid="btnStop"type="button"value="停止"disabled="disabled"onclick="Stop()"/>
  31. </div>
Js部分加入如下Js代码:
  1. <scriptlanguage="javascript"type="text/javascript">
  2. varidx=0;
  3. varprogressTimer;
  4. varprogressInterval=1000;
  5. functionRequest()
  6. {
  7. document.getElementById("btnStop").disabled="";
  8. document.getElementById("btnRequest").disabled="disabled";
  9. if(idx>=10)
  10. {
  11. Clear();
  12. return;
  13. }
  14. vararg=idx;
  15. <%=ClientScript.GetCallbackEventReference(this,"arg","GetMsgBack",null)%>;
  16. idx++;
  17. progressTimer=setTimeout('Request()',progressInterval);
  18. }
  19. functionGetMsgBack(result)
  20. {
  21. document.getElementById('progress'+idx).style.backgroundColor='blue';
  22. varstatus=Number(result)*10;
  23. document.getElementById("Label1").innerHTML=status+"%";
  24. }
  25. functionStop()
  26. {
  27. clearTimeout(progressTimer);
  28. Clear();
  29. }
  30. functionClear()
  31. {
  32. idx=0;
  33. document.getElementById("btnStop").disabled="disabled";
  34. document.getElementById("btnRequest").disabled="";
  35. document.getElementById("Label1").innerHTML="0";
  36. for(vari=1;i<=10;i++)
  37. document.getElementById('progress'+i).style.backgroundColor='transparent';
  38. }
  39. </script>
css样式文件中加入如下代码:
  1. .statusTable
  2. {
  3. width:100px;
  4. border:solid1px#000000;
  5. padding-bottom:0px;
  6. margin-bottom:0px;
  7. }
  8. .statusTabletd
  9. {
  10. height:20px;
  11. }
Asp.Net服务端实现回调代码如下:
  1. publicpartialclassDigitStatus:System.Web.UI.Page,ICallbackEventHandler
  2. {
  3. privatestringAspEventArgs;
  4. protectedvoidPage_Load(objectsender,EventArgse)
  5. {
  6. }
  7. publicvoidRaiseCallbackEvent(stringEventArgs)
  8. {
  9. AspEventArgs=EventArgs;
  10. }
  11. publicstringGetCallbackResult()
  12. {
  13. inti=Convert.ToInt32(AspEventArgs);
  14. i++;
  15. returni.ToString();
  16. }
  17. }
这样,一个简易的进度条就实现了,运行即可得到如页首处的效果。
分享到:
评论

相关推荐

    asp.net上传图片带进度条

    在ASP.NET中实现图片上传并显示进度条的功能是一项常见的需求,尤其在用户上传大体积图片时,进度条能提供良好的用户体验。以下将详细介绍如何在ASP.NET中构建这样的功能。 首先,我们需要理解上传过程的基本原理。...

    一个基于C#+ ASP.NET 2.0 实现的带进度条上传控件源码

    "一个基于C#+ ASP.NET 2.0 实现的带进度条上传控件源码"的主题涉及到了一个常见但至关重要的功能——文件上传,并且带有进度条显示,这极大地提升了用户的交互体验。下面将详细探讨这一主题的相关知识点。 首先,C#...

    asp.net 批量上传文件,进度条显示

    在ASP.NET中实现批量文件上传并同时展示进度条效果,是一项常见的需求,特别是在处理大量数据时,用户界面的反馈能够显著提升用户体验。本实例通过结合ASP.NET、Ajax以及ExtJS库,提供了一种高效且直观的解决方案。 ...

    ASP.NET SWFUpload多文件带进度条上传

    在这个特定的场景中,我们讨论的是如何使用SWFUpload库在ASP.NET环境中实现多文件的带进度条上传功能。SWFUpload是一个开源的Flash组件,它允许用户在后台无刷新的情况下进行文件上传,特别适用于大文件上传,同时...

    asp.net文件上传带进度条

    在ASP.NET中实现文件上传带进度条的功能,通常涉及到AJAX技术,以便提供更好的用户体验。在传统的文件上传中,用户可能会遇到页面刷新或者长时间无响应的情况,而通过AJAX技术,我们可以实现异步文件上传,同时展示...

    Asp.net 上传进度条

    可以使用AJAX回调函数来实现这一功能。"使用说明.doc"可能详细解释了如何配置和调用这个过程。 5. **安全性和性能优化**:确保在实现进度条的同时,不会引入安全漏洞,如跨站请求伪造(CSRF)。另外,对于大量用户...

    asp.net C# 多文件上传带进度条的上传实例

    这个实例"asp.net C# 多文件上传带进度条的上传实例"就是一个很好的解决方案,实现了在不刷新页面的情况下,实时显示文件上传进度,提升了用户体验。 首先,我们要理解ASP.NET中的文件上传机制。在ASP.NET中,文件...

    .net大文件上传显示进度条

    同时,通过Ajax的回调机制,我们可以实时获取上传进度,并在客户端更新进度条。 为了实现这个功能,我们需要以下关键组件: 1. **前端界面**:创建一个HTML表单,包含文件选择输入框和进度条元素。使用JavaScript...

    asp.net2.0+ajax开发的文件上传并显示进度条

    在ASP.NET 2.0中,开发者经常需要处理文件上传的功能,而为了提供更好的用户体验,结合AJAX技术实现文件上传并显示进度条是常见的需求。本文将深入探讨如何使用ASP.NET 2.0和AJAX来实现这一功能。 首先,我们需要...

    asp.net 上传大文件进度条显示

    在ASP.NET中,上传大文件并显示进度条是一项常见的需求,尤其在用户可能需要等待较长时间的情况下,进度条可以提供良好的用户体验。以下是对这个主题的详细讲解。 首先,ASP.NET默认上传文件大小有限制,通常为4MB...

    ASP.NET2.0 WEB实时进度条

    这通常涉及到处理HTTP头部,创建自定义的回调机制,以及可能的WebSocket或SignalR技术,以实现实时双向通信。 在提供的压缩包文件中,"控件_ProgressBar0.2.2.0.rar"很可能包含了一个特定版本的进度条控件,可以...

    asp.net无刷新上传文件,带进度条,支持多文件

    在上述代码中,我们设置了上传的SWF文件路径、服务器端处理程序URL、取消按钮图片、上传目录、队列ID、是否允许多文件上传、是否自动上传、可接受的文件扩展名和描述,以及上传进度和完成时的回调函数。 至于拖拽...

    asp.net 下载进度条

    在ASP.NET中实现一个下载进度条功能,通常是为了提供用户友好的体验,让用户在大文件下载过程中能够看到实时的进度,提升用户体验。本项目“SwfUploadDemo”就是这样一个示例,它使用了SwfUpload插件来实现这一功能...

    ASP.NET 带进度条上传 DEMO

    3. **进度更新**:利用jQuery UI的进度条,我们需要在服务器端定期更新上传进度,并通过AJAX回调将其传回客户端。可以使用WebMethod或SignalR等技术来实现服务器与客户端的实时通信。 4. **错误处理**:大文件上传...

    ASP.NET Ajax 带进度条文件上传示例

    6. **进度条实现**:为了显示上传进度,开发者需要服务器端定期更新文件上传的进度信息,并通过AJAX回调返回给客户端。客户端则根据这些信息更新进度条的状态。这通常涉及到浏览器的事件监听,如`onprogress`事件,...

    asp.net带进度上传控件

    在ASP.NET中,处理文件上传是一项常见的任务,特别是在用户需要上传大文件或多个文件时,提供一个带有进度条的上传控件能够极大地提升用户体验。"asp.net带进度上传控件"正是为了解决这个问题,它允许用户在上传文件...

    Asp.net_WEB 版 WebUploader大文件上传带进度条

    通过JavaScript绑定WebUploader实例,监听`fileQueued`、`uploadStart`、`uploadProgress`、`uploadSuccess`等事件,实现文件选择、开始上传、进度更新和上传成功后的回调。 3. **后端处理**:在C#中,创建一个接收...

    ASP.NET上传进度条

    在ASP.NET中,可以利用UpdateProgress控件来创建进度条效果。UpdateProgress控件与UpdatePanel配合使用,可以在页面的异步更新过程中显示加载指示器。当文件上传操作开始时,UpdateProgress将显示,直到文件上传完成...

Global site tag (gtag.js) - Google Analytics