首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp生成静态页面分页的有关问题

2012-03-09 
asp生成静态页面分页的问题?我就想知道具体步骤是什么?代码可以不要,大体思路请告知。[解决办法]啊??????不

asp生成静态页面分页的问题?
我就想知道具体步骤是什么?
代码可以不要,大体思路请告知。

[解决办法]
啊??????
不会吧,兔子??
如果真是兔子的话,怎么会问这种问题
[解决办法]
盗版的
[解决办法]
兵无定势,水无常形

看你具体的业务需求了

变与不变是需求决定的。。。
[解决办法]
最好做成触发式的静态,有客户端请求才生成静态页
例如访问:test.asp?id=1

If Not FileExists( "test1.html ") Then
'生成静态页test1.html
End If

Server.Execute "test1.html "

[解决办法]
//简单的说就是个新闻列表,本来是asp的文件,现在我要把它弄成html的;分页也能生成静态的

全部生成无他

列表我建议还是用urlrewriter好了
[解决办法]
//最好做成触发式的静态,有客户端请求才生成静态页
//例如访问:test.asp?id=1

真正的meizz曾经就这么把csdn的blog的服务器弄down机了

[解决办法]
嗯。用urlrewrite算了。
下载个isapi_rewrite,然后安装
[解决办法]
这是从我的IO类里剥离出来的,只有Output,没有Input,但还是叫它IO
io.asp
<%
'-------------------------------------------
'ASP IO Class
'Name - ImplIO
'Require - FSO && ADODB.Stream
'Author - ococo
'LastModify - 2007/05/16
'-------------------------------------------
'方法
'*******************************************
'Public Function Cache(argv[0], argv[1]) As Boolean
' 判断页面是否缓存
' argv[0] - 缓存秒数,Long类型,=0,表示永久缓存
' argv[1] - QueryString名称列表,String类型
' 不同的QueryString启用不同的缓存
' 多个QueryString用|分开
'*******************************************
'Public Sub Echo(argv[0])
' 输出数据
' argv[0] - 数据,Variant类型
'-------------------------------------------

Class ImplIO
Private fso
Private objFile
Private lngTimeout
Private strQuery
Private strName
Private blnCache

Private Sub Class_Initialize()
Set fso = Server.CreateObject( "Scripting.FileSystemObject ")
Set objFile = Nothing
blnCache = False
End Sub

Private Sub Class_Terminate()
If blnCache Then
Call SaveCache
Call ExportCache
End If
If Not objFile Is Nothing Then
objFile.Close
Set objFile = Nothing
End If
Set fso = Nothing
End Sub

Public Function Cache(ByVal lTimeout, ByVal sQuery)
Dim strPath
lngTimeout = lTimeout
strQuery = sQuery
strName = fso.GetFileName(Request.ServerVariables( "SCRIPT_NAME "))
strPath = getCachePath()
If fso.FileExists(strPath) Then
If lngTimeout = 0 Then
Cache = True
Call ExportCache
ElseIf DateDiff( "s ", getLastModify(strPath), Now()) > lngTimeout Then
Cache = False
Else
Cache = True
Call ExportCache
End If
Else
Cache = False
End If
End Function

Private Function getCachePath()
Dim strPath
strPath = "cache/$(Name)/[$(Query)].cc "
strPath = Replace(strPath, "$(Name) ", strName)


strPath = Replace(strPath, "$(Query) ", getQueryString())
getCachePath = Server.MapPath(strPath)
End Function

Private Function getQueryString()
If Len(strQuery) = " " Then Exit Function
Dim arr, i
Dim ret
arr = Split(strQuery, "| ")
ReDim ret(UBound(arr))
For i = 0 To Ubound(arr)
ret(i) = Server.URLEncode(Request.QueryString(arr(i)))
Next
getQueryString = Join(ret, "& ")
End Function

Private Function getLastModify(ByVal strPath)
Dim fp
Set fp = fso.GetFile(strPath)
getLastModify = fp.DateLastModified
Set fp = Nothing
End Function

Private Sub ExportCache()
If objFile Is Nothing Then
Set objFile = Server.CreateObject( "ADODB.Stream ")
objFile.Type = 2 'adTypeText
objFile.Charset = "gb2312 "
objFile.Open
objFile.LoadFromFile getCachePath()
End If
objFile.Position = 0
Response.Write objFile.ReadText(-1)
End Sub

Public Sub Echo(vtIn)
If objFile Is Nothing Then
Set objFile = Server.CreateObject( "ADODB.Stream ")
objFile.Type = 2 'adTypeText
objFile.Charset = "gb2312 "
objFile.Open
End If
objFile.WriteText vtIn
blnCache = True
End Sub

Private Sub SaveCache()
Dim strPath
strPath = Server.MapPath( "cache ")
If Not fso.FolderExists(strPath) Then fso.CreateFolder strPath
strPath = strPath & "\ " & strName
If Not fso.FolderExists(strPath) Then fso.CreateFolder strPath
strPath = strPath & "\[ " & getQueryString() & "].cc "
objFile.SaveToFile strPath, 2 ',adSaveCreateOverWrite
End Sub
End Class
%>

调用方法
<%@language= "vbscript "%>
<!--#include file= "io.asp "-->
<%
Dim IO
Set IO = New ImplIO

'缓存60秒,根据不同的Request.QueryString( "Page ")缓存数据
'本来有个数据库分页缓存实例,太长了发不上来,自己可以测试一下
If Not IO.Cache(60, "Page ") Then
'如果没有缓存,则用而且必须用IO的Echo方法输出数据
IO.Echo " <html> "
IO.Echo " <head> "
IO.Echo " <meta http-equiv= " "content-type " " content= " "text/html; charset=gb2312 " " /> "
IO.Echo " <title> ASP Cache Demo </title> "
IO.Echo " </head> "
IO.Echo " <body> "
IO.Echo " <p> ASP Cache At " & Now() & " </p> "
IO.Echo " </body> "
IO.Echo " </html> "
End If
Set IO = Nothing

Response.Write " <p> Current Time " & Now() & " </p> "
%>

热点排行