提高ASP程序的显示速度

程序|速度|显示

  作为一个ASP程序员,你不会怀疑提高Web应用程序性能的重要性。为了让程序运行的更快一些,你可能一直忙于优化数据库或COM组件。如果这些你都做过了,你想到过靠加快最终生成HTML代码在浏览器中的显示速度来提高性能吗?对于最终用户来说,如果页面能显示的更快,你就能赢得更多的赞誉。
 
  提高HTML在浏览器中显示的速度可以通过一些鲜为人知的技术来实现。

  1.使用表格嵌套?

  在页面中建立复杂的结构,一般通过在页面中放置HTML表格来实现。如果要建立一个这样的页面:这个页面有一个顶部导航栏一个左边导航栏,一个右边的内容区。可以用一个两行两列的大表格来建立它。第一行中,合并两个列,然后插入一个顶部导航栏。第二行左边的列中,插入一个表格来显示导航按钮。右边的栏中,放置一个表格来实际内容。(见图一)这样嵌套的表格生成的代码是这样的:

  <TABLE BORDER="0">
  <TR>
  <TD COLSPAN="2"><!-- content for top nav bar --></TD>
  </TR>
  <TR>
  <TD ALIGN="LEFT" VALIGN="TOP"><!-- content for left nav bar --></TD>
  <TD ALIGN="LEFT" VALIGN="TOP"><!-- content for body of page --></TD>
  </TR>
  </TABLE>

  但是,实际上,浏览器找到<TABLE>标签的时候并不是立刻把页面显示到屏幕上,除非它找到相应的结束标签</TABLE>。所以,如果你的整个页面在一个表格里的话,在收到最后一个</TABLE>之前,什么也不会显示出来,这样,这个页面将在整个文件全部下载以后才能被用户所看到。在页面数据量比较大的时候(比如搜索引擎的搜索结果),这个特性会导致暂时的停顿。为了防止出现这种情况,可以在制作的时候把页面分成许多小的表格。在每一个<TABLE>到相应的</TABLE>这一部分HTML代码下载完的时候,浏览器就会把它显示出来。在访问者看来页面是渐渐的,一部分一部分,越来越多的出现在屏幕上的。感觉上,这样的页面显示速度比下载完整个文件再一次显示出来更快。

  按照这个原则来研究前面的例子,应该把页面中整个的大表分成三个单独的表。用第一个表显示顶部的导航栏,调节它的宽度,使它足够容纳所有的内容,在一个<TABLE></TABLE>代码段中完成它。页面下半部分,左边第二个表排成一列。使用第三个表容纳实际内容。(见图二)因为每一个部分都是一个完整的表格,所以,每一部分代码下载后都会立刻被显示出来。这样,顶部和左边的导航栏将比页面的其它部分更显显示出来。用户会在这个时候想象页面开始下载,很快就能显示在屏幕上。这样比起让用户在较长时间内一直面对一个空白屏幕要好得多。

  修改过的代码是这样的:

  <TABLE BORDER="0" WIDTH="100%">
  <TR>
  <TD ALIGN="CENTER" VALIGN="TOP"><!-- content for top nav bar --></TD>
  </TR>
  </TABLE>
  <TABLE BORDER="0" ALIGN="LEFT">
  <TR>
  <TD ALIGN="LEFT" VALIGN="TOP"><!-- content for left nav bar --></TD>
  </TR>
  </TABLE>
  <TABLE BORDER="0">
  <TR>
  <TD ALIGN="LEFT" VALIGN="TOP"><!-- content for page body --></TD>
  </TR>
  </TABLE>

  2.也要记住关闭其他的标记

  在上面的例子中,我们仅仅早一些关闭<TABLE>标记,就能让页面在浏览器显示的更快些。以此类推,还有一些类似的标记也有同样的特性。

  比如产生列表框和组合框<OPTION>标记和产生列表项的<LI>标记。通常,ASP程序员存取数据库,并把数据送入通过<OPTION>建立的列表框或组合框中,这时候在代码中写上一个关闭<OPTION>标记,这样简单的改变也能使页面在浏览器中显示的更快。

  不要使用这样的代码:

  Do while not objRS.EOF
  strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") &_""">"& _objRS("ProductName")
 objRS.MoveNext
  Loop

  Response.Write "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"

  要使用这样的代码:
  Do while not objRS.EOF
  strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") & _ """>" & objRS("ProductName") & "</OPTION>"
  objRS.MoveNext
  Loop

  Response.Write "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"

  不要使用这样的代码:
  <UL>
  <LI>Apples
  <LI>Oranges
  <LI>Bananas
  </UL>

  使用这样的代码:
  <UL>
  <LI>Apples</LI>
  <LI>Oranges</LI>
  <LI>Bananas</LI>
  </UL>

  现在看看,你的页面在浏览器中是不是显示的快了?

  请不要轻视这些改变对提高ASP程序性能的重要性。也许,在你能找到的“技巧与提示”一类的书或在线资料中,很少提到过通过优化HTML代码来使你的程序运行的更快。但是,在实际中应用这些技术,确实能使程序性能得到很大的提高。

时间: 2024-10-28 11:41:21

提高ASP程序的显示速度的相关文章

加速ASP程序的显示速度

程序|速度|显示 作为一个ASP程序员,你不会怀疑提高Web应用程序性能的重要性.为了让程序运行的更快一些,你可能一直忙于优化数据库或COM组件.如果这些你都做过了,你想到过靠加快最终生成HTML代码在浏览器中的显示速度来提高性能吗?对于最终用户来说,如果页面能显示的更快,你就能赢得更多的赞誉. 提高HTML在浏览器中显示的速度可以通过一些鲜为人知的技术来实现. 1 使用表格嵌套?在页面中建立复杂的结构,一般通过在页面中放置HTML表格来实现.如果要建立一个这样的页面:这个页面有一个顶部导航栏一

在WCF数据访问中使用缓存提高Winform字段中文显示速度

在我们开发基于WCF访问方式的Winform程序的时候,一般情况下需要对界面显示的字段进行中文显示的解析.如果是硬编码进行中文显示,那么除了不方便调整及代码臃肿外,性能上没有什么问题,但是不建议这样处理:一般情况下,我们把中文对照信息放到业务类里面去统一解析,但是这样会导致每次WCF访问方式请求解析中文化的操作耗费一定的响应时间.如果使用缓存存储中文字段的对照表,那么就不用每次请求WCF的数据访问,减少一些响应时间的消耗,提高用户体验效果. 1.使用硬编码方式的中文化解析操作 硬编码的方式,中文

蛙蛙推荐:巧用缓存提高asp程序的性能

程序|缓存|性能 <!-- 蛙蛙推荐:巧用缓存提高asp程序的性能 --><!--为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application,但是你修改了数据库后怎么让application更新呢,本文给你提供了一个合理的解决办法,如果谁有更好的算法,请跟帖讨论一下,谢谢--><%Class wawa_app_getrowspublic Function wawa_Get_List(strapp,strconn,strsql)'*************

巧用缓存提高asp程序的性能

onlytiancai [原作] <!--为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application,但是你修改了数据库后怎么让application更新呢,本文给你提供了一个合理的解决办法,如果谁有更好的算法,请跟帖讨论一下,谢谢--><%Class wawa_app_getrowspublic Function wawa_Get_List(strapp,strconn,strsql)'********************************'功能:从Ap

巧用缓存提高asp程序的性能_ASP基础

<!--为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application, 但是你修改了数据库后怎么让application更新呢,本文给你提供了一个合理的解决办法,如果谁有更好的算法,请跟帖讨论一下,谢谢 --> <% Class wawa_app_getrows public Function wawa_Get_List(strapp,strconn,strsql) '******************************** '功能:从Application中

Dreamweaver MX 2004做ASP程序(3)显示数据库的数据

dreamweaver|程序|数据|数据库|显示 1.打开Dreamweaver MX 2004,在站点里面先新建个ASP页面(index.asp),选择新建项目中的"ASP Javascript".打开应用程序面板,在"应用程序"面板中选中"数据库"标签.只要我们在前面建立了站点,选择了文档类型(即我们选的ASP Javascript的),并且还测试了服务器(http://localhost/myweb/).那现在就点击"+"

这个asp程序可显示IE.NC客户端的屏幕分辨率

程序|分辨率|客户端|显示 要求使用最新的browscap.ini,不然造成IE5,NC46等新的浏览器无法正确运行. <HTML><head><TITLE>detectres.asp</TITLE></head> <%  Set bc = Server.CreateObject("MSWC.BrowserType")  brname=bc.browser   brver=bc.version%><% if

提高ASP应用程序的技巧(2)

程序|技巧     (2)如果你正在使用的是VBScript 5.0或更高的版本,你可以使用WITH--END WITH的结构,这样也能使ASP的性能提高不少.     (3)一般情况下,避免使用session变量,因为每一个session变量都占用一个线程,session调用是一个接一个的完成的.所以这样会降低ASP的速度,你可以使用QueryString集合或者隐藏的变量来代替session变量来存储数据.这样会比使用session变量占用的线程少.    (4)如果你实在无法避免使用ses

提高ASP应用程序的技巧

ASP是微软推出的一种服务器端命令执行环境,它可以使你轻松的制作交互式的WEB应用程序.作为目前NT平台上开发WEB服务器的一种使用最多的技术,它的出现取代了过去只有使用CGI技术才能做的许多事情,而且ASP对于数据库的控制简单有效,省去了CGI的大量编程工作. 由于ASP直接对服务器进行操作,因此,ASP设计的技巧就显得非常重要,不当的ASP应用程序会增加WEB服务器的负担,降低服务器的性能.我总结了一年来自己ASP设计的经验,希望能对大家有所帮助,不对的地方希望大家指正. 本文讨论的主要是A