使用Response.Write实现在页面的生命周期中前后台的交互

news2024/11/24 6:16:10

最近在做一个很大的查询,花时间很多,

用户会以为死掉了,就做了一个前后交互的,用于显示执行进度,在网上找了一下,这个比较合适。

主要是简单,大道至简

改进了一下:效果如下图

代码:

1,****************************************************

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnShowProgress_Click(object sender, EventArgs e)
        {
            int s_sum = 10; //总记录数,执行总次数
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<html><head><script type='text/javascript' src='jscript.js'></script></head><body><form>");

            //sb.Append("<table border = '1' width ='10%'><tr><td id ='area'>0</td></tr></table>");
            sb.Append("<table border = '0' width ='10%'><tr><td id ='name'>进度:</td><td id ='area' align='right' style='color:red;'>0</td><td id ='area2' style='color:blue;'>" + "/  "+ s_sum.ToString() + "</td></tr></table>");
            sb.Append("</body></form></html>");

            HttpContext.Current.Response.Write(sb.ToString());
            HttpContext.Current.Response.Flush();

            for (int i = 1; i <=s_sum; i++)
            {
                System.Threading.Thread.Sleep(500);  //模拟执行的复杂过程
                setProcessValue(i.ToString());  //设置进度值
            }
        }

        //执行进度值
        private void setProcessValue(string percent) //percent参数类型用string,用int有时会出错
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<script>setProcessBarValue('" + percent + "')</script>");

            HttpContext.Current.Response.Write(sb.ToString());
            HttpContext.Current.Response.Flush();
        }


    }
}

2,*************************

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID ="btnShowProgress" Text ="Invoke" runat ="server" OnClick="btnShowProgress_Click" />
    </div>
    </form>
</body>
</html>

3,**********下面这个是javascript文件,文件名为:jscript.js,只包含下面这个函数***********

*********************放在根目录下***************************

function setProcessBarValue(per) {
    var area = document.getElementById("area");
    if (area) {
        area.innerHTML = per;
    }
}

上面有部分改动,记录下

原参考网址:https://www.cnblogs.com/isun/p/4160713.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1965957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【干货】IP地址有免费的SSL证书嘛?怎么申请

IP地址没有免费的SSL证书&#xff0c;但可以通过一些证书颁发机构&#xff08;CA&#xff09;购买IP地址SSL证书。这类证书允许用户通过IP地址而非域名来建立安全连接&#xff0c;适用于没有域名的内部服务器、专用网络中的设备或其他无法使用域名的服务。 以下是申请IP地址SS…

Python 写文件 \r\n 和 \n

# -*- coding: UTF-8 -*-import timewith open(write_file.txt, a) as f:for i in range(5):# 计算时间戳timestamp time.strftime(%Y-%m-%d %H:%M:%S, time.localtime())# 构造内容contents ftimestamp:{timestamp}, content:{i}# \n# content f{contents}\n# \r\ncontent …

程序在开发电脑上能跑,客户机器上就崩溃,那是你还没意识到是它?

程序开发之谜&#xff1a;为何在开发电脑上一切正常&#xff0c;一到客户机器就崩溃&#xff1f; 1. 引言&#xff1a; 在软件开发的世界里&#xff0c;没有什么比看到自己精心编写的程序在自己的开发环境中完美运行&#xff0c;却在客户机器上突然崩溃更让人抓狂的事情了。这…

专业145+总415+成电电子科技大学858考研信号与系统经验电子信息与通信工程,通信抗干扰,资源与环境,航空航天,物理学院,考研真题,大纲,参考书。

暑期相对比较轻松&#xff0c;回顾一下自己的考&#xff0c;总结一些经验&#xff0c;希望对大家有所借鉴&#xff0c;电子科技大学专业课858信号与系统145&#xff0c;总分415&#xff0c;顺利上岸成电。专业课&#xff1a;858信号与系统 资料选择&#xff1a;真题&#xff0…

深度学习实战笔记7kaggle比赛:图像分类

import collections import math import os import shutil import pandas as pd from mxnet import gluon, init, npx from mxnet.gluon import nn from d2l import mxnet as d2lnpx.set_np() 获取并组织数据集 比赛数据集分为训练集和测试集&#xff0c;其中训练集包含50000…

光大远通学生宿舍智能电表如何安装

光大远通学生智能电表需要遵循一系列步骤&#xff0c;‌确保安全、‌正确地完成安装过程。‌ 首先&#xff0c;‌安装智能电表的前期准备工作包括确认电源断开、‌检查接线图纸、‌准备必要的工具等。‌在接线过程中&#xff0c;‌需要特别注意接地连接、‌电源接线、‌负载连…

【空间向量】

框架 空间代数空间直角坐标系向量的概念向量的运算向量间的关系空间平面与直线空间平面两平面的位置关系空间直线的方程两直线的位置关系直线与平面的位置关系空间曲面与曲线球面柱面旋转曲面二次曲面空间曲面在坐标面上的投影 解读 1【空间两点之间的距离】根号下各个位置差的…

Java:IO(File、RandomAccessFile、字节流和字符流、其他流)

1&#xff0c;操作文件类&#xff08;File&#xff09; 1.1&#xff0c;File类的基本介绍 在整个io包中&#xff0c;唯一与文件本身相关的类就是File类。使用File类可以进行创建或删除文件等常用操作&#xff0c;如果要使用一个File类&#xff0c;则必须向File类的构造方法中传…

数学建模--聚类分析

目录 聚类分析的基本概念 常用的聚类算法 K-Means 层次聚类 DBSCAN 高斯混合模型&#xff08;GMM&#xff09; 常用的数学公式和方法&#xff1a; 应用实例 结论 数学建模中的聚类分析在市场细分中的具体应用案例是什么&#xff1f; 层次聚类算法与K-Means算法在处理…

Kafka 为什么这么快的七大秘诀,涨知识了

我们都知道 Kafka 是基于磁盘进行存储的&#xff0c;但 Kafka 官方又称其具有高性能、高吞吐、低延时的特点&#xff0c;其吞吐量动辄几十上百万。 在座的靓仔和靓女们是不是有点困惑了&#xff0c;一般认为在磁盘上读写数据是会降低性能的&#xff0c;因为寻址会比较消耗时间。…

unity2D游戏开发18导出游戏

点击File|build Settings 设置安装环境后&#xff0c;点击Build 选中文件夹 结果 运行 设置退出操作 在RPGGameManager类中加入代码 private void Update(){if (Input.GetKey(KeyCode.Escape)) { Application.Quit();}}

Android 10.0 framework默认沉浸式导航栏功能实现

1. 前言 在10.0的系统rom定制化开发中,在实现导航栏的某些定制化开发中,在某些产品需要实现沉浸式导航栏,就是需要app 能全屏显示同样也能显示导航栏,接下来就来分析下相关的功能实现 如图: 2.framework默认沉浸式导航栏功能实现的核心类 frameworks\base\core\java\andro…

idea恢复git未提交代码

背景&#xff1a;因拉取代码&#xff0c;本地冲突&#xff0c;误操作回滚了&#xff0c;本地未提交代码丢失。 操作步骤&#xff1a; git --> Uncommitted Changes --> Show Shelf 在下方会弹出一个git对话框&#xff0c;右键选择要恢复的代码&#xff0c;选择Unshelve…

使用ssh进行远程登录android 手机-非root

之前使用termux直接在android手机上面敲命令实在是太累了&#xff0c;android的键盘各种的不好用&#xff0c;就想着使用ssh的远程的方式操作&#xff0c; 后面发现了现在的这个方法&#xff0c;非常的有效&#xff0c;提高了不少的办事效率 可以参照下面的步骤进行操作 打开…

Java:数组方法,引用传递,变量类型,Lambda表达式

1&#xff0c;数组定义及使用 1.1&#xff0c;定义数组 Java语言是典型的静态语言&#xff0c;因此Java数组是静态的&#xff0c;即当数组被初始化之后&#xff0c;该数组所占的内存空间、数组长度都是不可变的。Java程序中的数组必须经过初始化才可使用。所谓初始化&#xff…

基于RAG的企业级代码生成系统:从数据清洗到工程化实现

目录 引言数据收集与清洗数据标准化知识图谱构建RAG系统实现代码生成模型训练工程化实现系统评估与优化结论 1. 引言 在现代软件开发中&#xff0c;利用大型语言模型(LLM)生成代码已成为提高开发效率的重要手段。然而&#xff0c;对于企业来说&#xff0c;如何让这些模型了解…

PHP转Go系列 | Carbon 时间处理工具的使用姿势

大家好&#xff0c;我是码农先森。 在日常的开发过程中经常会遇到对时间的处理&#xff0c;比如将时间戳进行格式化、获取昨天或上周或上个月的时间、基于当前时间进行加减等场景的使用。在 PHP 语言中有一个针对时间处理的原生函数 strtotime&#xff0c;大家都知道这个函数只…

细说MCU的DAC输出含谐波的正弦波形信号的方法

目录 一、参考硬件 二、 建立新工程 三、代码修改 1.用MATLAB生成含谐波的波形数据 2. 修改代码PV 四、查看结果 一、参考硬件 本项目依赖的软件和硬件工程参考本文作者写的文章&#xff1a;细说MCU的DAC1和DAC2各自输出一通道模拟信号的方法-CSDN博客 https://wenchm.b…

苹果AI版iOS首日火爆:聊天秒变高情商,大模型成最强嘴替

苹果公司最近推出了其人工智能技术Apple Intelligence&#xff0c;并在iOS 18.1 Beta版中首次亮相&#xff0c;这标志着苹果正式迈入了AI时代。Apple Intelligence深度集成于iOS、iPadOS和macOS系统中&#xff0c;提供了包括写作润笔、通话摘要、内容总结、图像生成等一系列AI功…

移动硬盘传输中断后无法识别的数据救援指南

一、问题解析&#xff1a;移动硬盘传输中断的困境 在日常使用中&#xff0c;移动硬盘作为我们存储和传输大量数据的重要工具&#xff0c;其稳定性和可靠性直接关系到数据的安全。然而&#xff0c;当在数据传输过程中突然遭遇中断&#xff0c;随后发现移动硬盘无法被电脑识别时…