⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 14-2.cfm.htm

📁 最全的ASP教程
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>利用缓存输出</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>
<font SIZE="5"><b>

<p ALIGN="JUSTIFY">利用缓存输出</p>
</b></font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY"></font><font SIZE="3">通常</font><font FACE="宋体" SIZE="3">,Active 
Server Page</font><font SIZE="3">在服务端执行,每一句执行的结果都会立即发送到浏览器上显示出来。例如下面这个例子:</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;html&gt;</p>

<p ALIGN="JUSTIFY">&lt;head&gt;&lt;title&gt;buffer example&lt;/title&gt;&lt;/head&gt;</p>

<p ALIGN="JUSTIFY">&lt;body&gt;</p>

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">for i=1 to 500</p>

<p ALIGN="JUSTIFY">response.write(i&amp;</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">&lt;BR&gt;</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">)</p>

<p ALIGN="JUSTIFY">next</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;/body&gt;</p>

<p ALIGN="JUSTIFY">&lt;/html&gt;</p>
</font><font SIZE="3">

<p ALIGN="JUSTIFY">这个脚本在屏幕上显示从</font><font FACE="宋体" SIZE="3">1</font><font
SIZE="3">到</font><font FACE="宋体" SIZE="3">500</font><font SIZE="3">,每一句命令执行后结果都立即显示,你可以实时的看到执行结果。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY"></font><font SIZE="3">在某些场合下,你也可以利用缓冲区来延缓执行过程,当你利用缓冲区时,直到整个</font><font
FACE="宋体" SIZE="3">Active Server Page</font><font SIZE="3">执行结束才会将结果输出到浏览器上。下面是利用</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">修改后的例子:</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;% Response.Buffer=True %&gt;</p>

<p ALIGN="JUSTIFY">&lt;HTML&gt;</p>

<p ALIGN="JUSTIFY">&lt;HEAD&gt;&lt;TITLE&gt;buffer Example&lt;/TITLE&gt;&lt;/HEAD&gt;</p>

<p ALIGN="JUSTIFY">&lt;body&gt;</p>

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">For i=1 to 500</p>

<p ALIGN="JUSTIFY">Response.write(i&amp;</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">&lt;br&gt;</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">)</p>

<p ALIGN="JUSTIFY">NEXT</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;/body&gt;</p>

<p ALIGN="JUSTIFY">&lt;/html&gt;</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">这个脚本和前面的那个仅有一个区别,在脚本第一行,将</font><font
FACE="宋体" SIZE="3">Response</font><font SIZE="3">对象的</font><font FACE="宋体"
SIZE="3">Buffer</font><font SIZE="3">属性设置为</font><font FACE="宋体" SIZE="3">True</font><font
SIZE="3">。那么这页执行的时候,这个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。</p>
<b>

<p ALIGN="JUSTIFY">注意</p>
</b></font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY"></font><font SIZE="3">你可以利用</font><font FACE="宋体"
SIZE="3">Internet Service Manage</font><font SIZE="3">来将</font><font FACE="宋体"
SIZE="3">Buffer</font><font SIZE="3">的默认值设为</font><font FACE="宋体" SIZE="3">True</font><font
SIZE="3">。在</font><font FACE="宋体" SIZE="3">Application Configuation</font><font
SIZE="3">对话框的</font><font FACE="宋体" SIZE="3">App Options</font><font SIZE="3">页中选择</font><font
FACE="宋体" SIZE="3">Enable Buffering.</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">任何对</font><font FACE="宋体" SIZE="3">Buffer</font><font
SIZE="3">属性的修改的语句都必须在主页和</font><font FACE="宋体" SIZE="3">Active 
Server Page</font><font SIZE="3">脚本输出前面,如果你试图在</font><font
FACE="宋体" SIZE="3">HTML</font><font SIZE="3">或者脚本输出后面修改</font><font
FACE="宋体" SIZE="3">Buffer</font><font SIZE="3">属性,那么你的程序就会出错。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY"></font><font SIZE="3">利用缓存程序,你就可以根据某种条件来显示不同的主页,下面是随机显示的一个例子。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;% Response.Buffer=True %&gt;</p>

<p ALIGN="JUSTIFY">&lt;HTML&gt;</p>

<p ALIGN="JUSTIFY">&lt;HEAD&gt;&lt;Title&gt;</font><font SIZE="3">第一页</font><font
FACE="宋体" SIZE="3">&lt;/title&gt;&lt;/head&gt;</p>

<p ALIGN="JUSTIFY">&lt;Body&gt;</p>
</font><font SIZE="3">

<p ALIGN="JUSTIFY">这是第一页。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;/body&gt;</p>

<p ALIGN="JUSTIFY">&lt;/html&gt;</p>

<p ALIGN="JUSTIFY">&lt;% </p>

<p ALIGN="JUSTIFY">Randomize</p>

<p ALIGN="JUSTIFY">If Int(2*rnd)=1 then Response.End</p>

<p ALIGN="JUSTIFY">Response.Clear</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;HTML&gt;</p>

<p ALIGN="JUSTIFY">&lt;HEAD&gt;&lt;TITLE&gt;</font><font SIZE="3">第二页</font><font
FACE="宋体" SIZE="3">&lt;/title&gt;&lt;/head&gt;</p>

<p ALIGN="JUSTIFY">&lt;body&gt;</p>
</font><font SIZE="3">

<p ALIGN="JUSTIFY">这是第二页。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;/body&gt;</p>

<p ALIGN="JUSTIFY">&lt;/html&gt;</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">在这个例子中,使用了</font><font
FACE="宋体" SIZE="3">Response</font><font SIZE="3">对象的两个新的方法:</font><font
FACE="宋体" SIZE="3">End</font><font SIZE="3">方法和</font><font FACE="宋体"
SIZE="3">Clear</font><font SIZE="3">方法。</font><font FACE="宋体" SIZE="3">End</font><font
SIZE="3">方法会立即停止</font><font FACE="宋体" SIZE="3">Active Server Pages</font><font
SIZE="3">的执行和相应结果。你在执行</font><font FACE="宋体" SIZE="3">End</font><font
SIZE="3">方法时不需要考虑是否进行了缓存输出。在这个例子中,</font><font
FACE="宋体" SIZE="3">End</font><font SIZE="3">方法被用来防止在显示第一页时、第二页也显示出来。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">Clear</font><font SIZE="3">方法是用来在不将缓存中的内容输出的前提下清空当前页的</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">,仅仅是使用了缓存输出的时候你才可以利用</font><font
FACE="宋体" SIZE="3">clear</font><font SIZE="3">方法,在这里面,</font><font
FACE="宋体" SIZE="3">clear</font><font SIZE="3">方法是用来防止显示第二个页面时,第一个页面也显示出来。它把第一个页面从</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">中清空了。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">Response</font><font SIZE="3">对象中在缓存输出中还用到了另一个方法是</font><font
FACE="宋体" SIZE="3">flush</font><font SIZE="3">,将缓存中的东西立即显示出来,和</font><font
FACE="宋体" SIZE="3">clear</font><font SIZE="3">方法一样的是,该方法在脚本前面没有将</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">属性设置为</font><font
FACE="宋体" SIZE="3">true</font><font SIZE="3">时会出错,和</font><font
FACE="宋体" SIZE="3">end</font><font SIZE="3">方法不同的是,该方法调用后,该</font><font
FACE="宋体" SIZE="3">Active Server Page</font><font SIZE="3">继续执行。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY"></font><font SIZE="3">一般,你并不需要缓存输出一个</font><font
FACE="宋体" SIZE="3">Active Server Page,</font><font SIZE="3">这通常是个坏主意,在大的</font><font
FACE="宋体" SIZE="3">HTML</font><font SIZE="3">主页或者运行较长的脚本中,利用缓存显示结果通常会使得用户感到迷惑。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY"></font><font SIZE="3">如果你希望根据条件显示不同主页内容,你完全可以只是简单的利用</font><font
FACE="宋体" SIZE="3">VB</font><font SIZE="3">脚本来做判断,例如,下面这个例子实现的上面例子的同样功能而没有使用缓存。</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;%</p>

<p ALIGN="JUSTIFY">Randomize</p>

<p ALIGN="JUSTIFY">if INT(2*RND)=1 then</p>

<p ALIGN="JUSTIFY">%&gt;</p>

<p ALIGN="JUSTIFY">&lt;HTML&gt;</p>

<p ALIGN="JUSTIFY">&lt;HEAD&gt;&lt;TITLE&gt;</font><font SIZE="3">第一页</font><font
FACE="宋体" SIZE="3">&lt;/TITLE&gt;&lt;/HEAD&gt;</p>

<p ALIGN="JUSTIFY">&lt;BODY&gt;</p>
</font><font SIZE="3">

<p ALIGN="JUSTIFY">这是第一页</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;/BODY&gt;</p>

<p ALIGN="JUSTIFY">&lt;/HTML&gt;</p>

<p ALIGN="JUSTIFY">&lt;% ELSE %&gt;</p>

<p ALIGN="JUSTIFY">&lt;HTML&gt;</p>

<p ALIGN="JUSTIFY">&lt;HEAD&gt;&lt;TITLE&gt;</font><font SIZE="3">第二页</font><font
FACE="宋体" SIZE="3">&lt;/TITLE&gt;&lt;/HEAD&gt;</p>

<p ALIGN="JUSTIFY">&lt;BODY&gt;</p>
</font><font SIZE="3">

<p ALIGN="JUSTIFY">这是第二页</p>
</font><font FACE="宋体" SIZE="3">

<p ALIGN="JUSTIFY">&lt;/body&gt;</p>

<p ALIGN="JUSTIFY">&lt;/html&gt;</p>

<p ALIGN="JUSTIFY">&lt;% END IF %&gt;</p>

<p ALIGN="JUSTIFY"></font><font SIZE="3">只有一种场合下</font><font FACE="宋体"
SIZE="3">buffer</font><font SIZE="3">是必须的,那就是在主页内容已经确定后你却需要改变主页的</font><font
FACE="宋体" SIZE="3">header</font><font SIZE="3">。这是你除了将</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">属性设为</font><font FACE="宋体"
SIZE="3">True</font><font SIZE="3">外别无选择。那么,下面有关部分会有更加详细的介绍。</p>
</font>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -