页面加载进度条(通过HTTP响应输出)

 只要把这写在加载方法的前面就可以了:

运用的时候要把背景图片更换一下

    public void Loading()
    {

        HttpContext hc = HttpContext.Current;

        //创建一个页面居中的dibody >
        //   hc.Response.Write("<body style='-moz-opacity:0.25;filter:alpha(opacity=50);'> <form id='jiazai' runat='server'> ");

        hc.Response.Write("<div id='loading'style='position:absolute; background-color:#118FE9;  border:#8BD0F6 1px solid; height: 100px; text-align: center;z-index: 9999; left: 50%; top: 50%; margin-top: -50px; margin-left: -175px;'> ");

        hc.Response.Write("<br />页面正在加载中,请稍候……<br /><br /> ");

        hc.Response.Write("<table border='1' cellpadding='0' cellspacing='0' style='background-image: url(images/plan-bg.gif);text-align: center; width: 300px;'> ");

        hc.Response.Write("<tr><td style='height: 20px; text-align: center'><marquee direction='right' scrollamount='30' width='290px'> <img height='10' src='images/plan-wait.gif' width='270' />");

        hc.Response.Write("</marquee></td></tr></table></div>");

        //    hc.Response.Write("<script>mydiv.innerText = '';</script>");

        hc.Response.Write("<script type=text/javascript>");

        //最重要是这句了,重写文档的onreadystatechange事件,判断文档是否加载完毕

        hc.Response.Write("function document.onreadystatechange()");

        hc.Response.Write(@"{ try  

                                   {

                                    if (document.readyState == 'complete') 

                                    {

                                         delNode('loading');


                                    }

                                   }

                                 catch(e)

                                    {

                                        alert('页面加载失败!');

                                    }

                                                        } 

 

                            function delNode(nodeId)

                            {   

                                try

                                {   

                                      var div =document.getElementById(nodeId); 

                                      if(div !==null)

                                      {

                                          div.parentNode.removeChild(div);   

                                          div=null;    

                                          CollectGarbage(); 

                                      } 

                                }

                                catch(e)

                                {   

                                   alert('删除ID为'+nodeId+'的节点出现异常');

                                }   

                            }

 

                            ");



        hc.Response.Write("</script>");

        //   hc.Response.Write("    </form>  </body>");

        hc.Response.Flush();

    } 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值