加速ASP程序的运行速度的两种方法

程序|速度

  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-08-02 19:47:36

加速ASP程序的运行速度的两种方法的相关文章

asp.net清空Cookie的两种方法_实用技巧

asp.net清空Cookie的两种方法 第一种 Cookie.Expires=[DateTime]; Response.Cookies("UserName").Expires = 0; 第二种 Response.Cookies["admin"].Expires = DateTime.Now.AddDays(-1); 

asp.net DropdownList动态绑定的两种方法

asp教程.net dropdownlist动态绑定的两种方法 动态绑定方法一:动态绑定数据库教程中的字段. sqlconnection conn = utilitysqlclass.operatedatabase.returnconn(); string strsql = "select * from companytype"; sqldataadapter ada = new sqldataadapter(strsql, conn); dataset ds = new datase

ASP程序发送信件的几种方法比较

比较|程序 一.Jmail3以及以前的版本使用jmail.smtpmail发信,具体代码如下: <%Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUEjmail.logging = true '启用使用日志jmail.Charset = "GB2312" '邮件文字的代码为简体中文jmai

用ASP实现网页保密的两种方法-ASP漏洞集

网页    在维护公司内部网站时碰到一个实际问题--MIS主管要求将一些技术文件放在网页上,且只能让MIS 的员工浏览.这就涉及到如何对网页保密的问题.    最初我借助Frontpage和VBscript设计了一种方案,链接MIS技术页(此处预设为tpwdrst.htm)之前,先 链接actpwd.htm输入名称和密码(此处名称和密码都预设为"mis"),只有正确输入后,才能链接到actpwdrst.htm. 以下是它们的代码.    Actpwd.htm 代 码 如 下:   &l

用ASP实现网页保密的两种方法

作者:胡舜良 本 人 在 维 护 公 司 内 部 网 站 时 碰 到 一 个 实 际 问 题 - -MIS 主 管 要 求 将 一 些 技 术 文 件 放 在 网 页 上, 且 只 能 让MIS 的 员 工 浏 览. 这 就 涉 及 到 如 何 对 网 页 保 密 的 问 题. 最 初 我 借 助Frontpage 和Vbscript 设 计 了 一 种 方 案, 链 接MIS 技 术 页( 此 处 预 设 为actpwdrst.htm) 之 前, 先 链 接actpwd.htm 输 入 名 称

ASP实现网页保密的两种方法

网页 本 人 在 维 护 公 司 内 部 网 站 时 碰 到 一 个 实 际 问 题 - -MIS 主 管 要 求 将 一 些 技 术 文 件 放 在 网 页 上, 且 只 能 让MIS 的 员 工 浏 览. 这 就 涉 及 到 如 何 对 网 页 保 密 的 问 题. 最 初 我 借 助Frontpage 和Vbscript 设 计 了 一 种 方 案, 链 接MIS 技 术 页( 此 处 预 设 为actpwdrst.htm) 之 前, 先 链 接actpwd.htm 输 入 名 称 和 密

ASP禁止刷新当前页的两种方法

刷新|刷新 方法1: <% Dim SplitReflashPage Dim DoReflashPage dim shuaxin_time DoReflashPage=true shuaxin_time=10 ReflashTime=Now() if (not isnull(session("ReflashTime"))) and cint(shuaxin_time)>0 and DoReflashPage then if DateDiff("s",se

ASP.NET中文显示之两种解决方法

asp.net|解决|显示|中文 作者刚开始写ASP+程序时候碰到的第一个比较大的问题就是中文显示问题,运行后发现ASP+从数据库中读取出来的中文全部变成了?????????????,有点类似jsp中的这个频率出现最高的中文显示问题了,查了资料发现有两种方法可以轻松解决中文问题.     方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到web目录下,试了一下,中文显示果然OK了.方法如下: 建立一个文件config.web,内容如下,放在WE

[ASP.NET] 限制上传文件类型的两种方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置属性简单高效地实现限制上传文件类型的功能. 在调用PostFile对象的SaveAs方法保存上传文件之前,可以通过PostFile对象的File