一个ASP.NET的进度条

 
1.创建进度条:
<DIV id="Lay1" style="Z-INDEX: 1; LEFT: 1%; VISIBILITY: hidden; WIDTH: 99%; CURSOR: crosshair; POSITION: absolute; TOP: 32px; HEIGHT: 95%; BACKGROUND-COLOR: #ffffff"><FONT face="宋体"></FONT><FONT face="宋体"></FONT><FONT face="宋体"></FONT><FONT face="宋体"></FONT><br>
    <b><font color="#800080" size="2">                正在检索数据,请稍候...</font></b>
    <table align="center">
     <tr>
      <td>
       <div style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: black 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 8pt; PADDING-BOTTOM: 2px; BORDER-LEFT: black 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: black 1px solid"><span id="progress1"> </span>
        <span id="progress2"> </span> <span id="progress3"> </span> <span id="progress4">
          </span> <span id="progress5"> </span> <span id="progress6"> </span>
        <span id="progress7"> </span> <span id="progress8"> </span> <span id="progress9">
          </span> <span id="progress10"> </span> <span id="progress11"> </span>
        <span id="progress12"> </span> <span id="progress13"> </span><span id="progress14"> </span><span id="progress15"> </span>
       </div>
      </td>
     </tr>
    </table>
    <script language="javascript">
var progressEnd = 15;  // set to number of progress <span>'s.
var progressColor = 'blue'; // set to progress bar color
var progressInterval = 300; // set to time between updates (milli-seconds)

var progressAt = progressEnd;
var progressTimer;
function progress_clear() {
 for (var i = 1; i <= progressEnd; i++) document.getElementById('progress'+i).style.backgroundColor = 'transparent';
 progressAt = 0;
}
function progress_update() {
 progressAt++;
 if (progressAt > progressEnd) progress_clear();
 else document.getElementById('progress'+progressAt).style.backgroundColor = progressColor;
 progressTimer = setTimeout('progress_update()',progressInterval);
}
function progress_stop() {
 clearTimeout(progressTimer);
 progress_clear();
}
//progress_update();  // start progress bar
    </script>
   </DIV>
2.设置查询按钮属性
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
           If Not IsPostBack The
            but_find.Attributes.Add("onClick", "Lay1.style.visibility='';progress_update();")
        End If
    End Sub
3.注册javascript脚本
 Public Sub scriptjdt(ByVal objPage As System.Web.UI.Page, ByVal strValue As String)
        Dim jb As String
        jb = "<script language='JavaScript'>" + strValue + "</script>"
        objPage.RegisterStartupScript("jdt_ok", jb)
    End Sub
4.在查询按钮单击事件中调用。
 Private Sub but_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles but_find.Click
'查询数据代码

'----------------
     Me.scriptjdt(Me, "Lay1.style.visibility='hidden';progress_stop();") '关闭进度条代码
   End Sub

 
### 回答1: 我可以给你一个简单的.NET后端进度条接口的例子: public interface IProgressBar { void UpdateProgress(int percent); void ResetProgress(); } ### 回答2: 要写一个 .NET 后端进度条接口,可以按照以下步骤进行: 1. 创建一个 ASP.NET Web API 项目,这个项目将作为后端的服务器端点。 2. 在项目中,创建一个 Controller 类作为进度条接口的处理程序。例如,可以创建一个名为 ProgressController 的类。 3. 在 ProgressController 类中,添加一个方法用于启动进度条。该方法可以命名为 StartProgress(),它将接收必要的参数作为输入,例如总进度的大小、任务的描述等。在这个方法中,可以使用全局变量来存储当前进度的值。 4. 添加另一个方法来获取当前进度的值。这个方法可以命名为 GetProgress(),它将返回当前进度的百分比或其他信息。 5. 在 StartProgress() 方法中,需要启动一个后台线程来进行任务处理,并在处理过程中更新当前进度的值。可以使用 Task 类来实现这个后台任务。 6. 在线程中,可以调用一个自定义的方法来模拟长时间运行的任务,并在任务的每个步骤完成后更新当前进度的值。 7. 在 GetProgress() 方法中,只需返回全局变量中存储的当前进度的值。 8. 使用 ASP.NET Web API 的路由机制,为上述两个方法配置适当的路由。 上述步骤仅为示例,具体的实现方式可能会根据需求和具体情况有所不同。需要根据实际需求来确定如何启动进度条、设置进度条的值以及如何获取当前进度的信息。同时,还可以添加一些其他的方法和功能来满足具体的需求,例如取消进度条、暂停和恢复进度条等等。 ### 回答3: 制作一个 .Net 后端进度条接口十分简单。你可以使用 ASP.Net Web API 来创建一个接口,然后在其中实现进度条逻辑。 首先,在你的项目中创建一个 ASP.Net Web API 控制器。打开 Visual Studio,选择新建项目,然后选择 ASP.Net Web Application (.Net Framework)。将项目命名为你喜欢的名称,点击确定。 接下来,在解决方案资源管理器中找到 Controllers 文件夹,右键点击该文件夹,选择添加 -> 控制器。在弹出的对话框中选择 Web API 2 Controller - Empty,点击添加。 现在,你将获得一个新的空控制器类。在该类中创建一个接口方法用于获取进度条的当前状态。你可以将该方法命名为 GetProgress。在方法中,你可以设置进度条的当前值,并将进度条的状态返回给调用者。 下面是一个示例的代码: ```csharp public class ProgressController : ApiController { private int progress = 0; [HttpGet] public IHttpActionResult GetProgress() { // 模拟进度条的更新 if (progress < 100) { progress += 10; } else { progress = 0; } // 返回进度条的当前状态 return Ok(progress); } } ``` 接下来,在全局.asax.cs文件中注册该控制器。找到 Application_Start 方法,并添加以下代码: ```csharp GlobalConfiguration.Configure(WebApiConfig.Register); ``` 然后,打开 WebApiConfig.cs 文件,并修改 Register 方法,确保控制器可以被路由到: ```csharp public static void Register(HttpConfiguration config) { // 配置 Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } ``` 现在,你可以运行你的应用程序,然后使用浏览器或 API 测试工具向 `http://localhost:port/api/progress` 发送 GET 请求来获取进度条的当前状态。每次调用该接口,进度条的值将会增加,直到达到 100,然后重置为0。 希望这个回答对你有帮助!如果你有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值