當前位置:首頁 > 建站常識 > 列表

asp批量生成靜态頁面的(de)方法

點擊:時(shí)間:2018/8/31關鍵詞:上海網頁設計 上海網站建設
當網站數據巨大(dà)時(shí),一次生成許多(duō)靜态頁,會導緻生成頁面超過20分(fēn)鐘(zhōng)後報錯,以至于後面的(de)靜态頁不能生成。即使使用(yòng)了(le)Server.ScriptTimeout = 9999,程序運行後,也(yě)會出現假死現象。注意:這(zhè)裏使用(yòng)的(de)是模塊替換生成靜态頁面的(de)方法。代碼如下(xià):<

當網站數據巨大(dà)時(shí),一次生成許多(duō)靜态頁,會導緻生成頁面超過20分(fēn)鐘(zhōng)後報錯,以至于後面的(de)靜态頁不能生成。

即使使用(yòng)了(le)Server.ScriptTimeout = 9999,程序運行後,也(yě)會出現假死現象。

注意:這(zhè)裏使用(yòng)的(de)是模塊替換生成靜态頁面的(de)方法。

代碼如下(xià):

<!-- #include file="conn.asp" -->

<%

Dim cnt:cnt = 1 '本輪循環計數器初始化(huà)

start  = request("start") '獲取本輪指針的(de)開始位置

If IsNumeric(start) Then start = CLng(start) Else start=1

If start=0 Then start = 1 '如果start爲空,從第一條開始

num = 100 '每次生成的(de)數量

content = "fso獲取的(de)模闆頁面代碼,這(zhè)裏就省略了(le)"

sql = "select * from 表名"

rs.Open sql,conn,1,1

rs.AbsolutePosition = start '這(zhè)是此程序最關鍵的(de)一步,将指針指向start,start通(tōng)過參數動态獲得(de)

Do While Not rs.eof And cnt < num

   content = Replace(content,"{要替換的(de)内容1}",rs("字段名1")) '用(yòng)字段值替換模闆内容,下(xià)同

   content = Replace(content,"{要替換的(de)内容2}",rs("字段名2"))

   ……

   cnt = cnt+1

   start = start + 1

rs.movenext

Loop

If Not rs.eof Then '通(tōng)過刷新的(de)方式進行下(xià)一輪請求,并将指針變量start傳遞到下(xià)一輪

   response.write "<meta http-equiv='refresh' content='0;URL=?start="&start&"'>"

Else

    response.write "生成HTML文件完畢!"

End if

rs.Close()

Set rs = Nothing

%>

預約建站
免費提供網站優化(huà)
領取關鍵詞