比如本程序实现共四个文件:

分别如下:

数据库:data.mdb

表名:table

字段分别为:Id、Title、Content

注意:Content为类型为备注类型,SQL SERVER中为text类型

数据库接口文件:conn.asp

主显示页:show.asp

公共方法页:syscode.asp

------------------------------------


syscode.asp

<%

'=================================================

'代码移植优化作者:cleanwater

'作者站点:http://www.cn086.com

'嵌入调用方法:<!--#include file="syscode.asp"-->

'公共调用方法:call ShowContent("参数","参数","参数")

'公共设置参数:ShowContentByPage、MaxPerPage_Content

'注:如做多领域调用处理直接将两个参数移植到需调用的页面即可

'=================================================

Const ShowContentByPage="Yes"        '文本内容是否分页显示

Const MaxPerPage_Content=1400        '每页显示大约字符数

'=================================================

'过程名:ShowContent

'作  用:显示文本具体的内容,可以分页显示

'参  数:无

'注:以下代码无任何特殊情况请勿随便改动

'=================================================

sub ShowContent(rsID,rsexplain,rswebpage)

dim ID,strContent,CurrentPage

dim ContentLen,MaxPerPage,pages,i,lngBound

dim BeginPoint,EndPoint

ID=rsID'获取递值文本ID

strContent=rsexplain'获取递值文本内容

webpage=rswebpage'获取递值页名

ContentLen=len(strContent)

CurrentPage=trim(request("sPage"))

if ShowContentByPage="No" or ContentLen<=MaxPerPage_Content then

response.write strContent

if ShowContentByPage="Yes" then

response.write "</p><p align='center'><font color='red'><b>[1]</b></font></p>"

end if

else

if CurrentPage="" then

CurrentPage=1

else

CurrentPage=Cint(CurrentPage)

end if

pages=ContentLen\MaxPerPage_Content

if MaxPerPage_Content*pages<ContentLen then

pages=pages+1

end if

lngBound=MaxPerPage_Content          '最大误差范围

if CurrentPage<1 then CurrentPage=1

if CurrentPage>pages then CurrentPage=pages


dim lngTemp

dim lngTemp1,lngTemp1_1,lngTemp1_2,lngTemp1_1_1,lngTemp1_1_2,lngTemp1_1_3,lngTemp1_2_1,lngTemp1_2_2,lngTemp1_2_3

dim lngTemp2,lngTemp2_1,lngTemp2_2,lngTemp2_1_1,lngTemp2_1_2,lngTemp2_2_1,lngTemp2_2_2

dim lngTemp3,lngTemp3_1,lngTemp3_2,lngTemp3_1_1,lngTemp3_1_2,lngTemp3_2_1,lngTemp3_2_2

dim lngTemp4,lngTemp4_1,lngTemp4_2,lngTemp4_1_1,lngTemp4_1_2,lngTemp4_2_1,lngTemp4_2_2

dim lngTemp5,lngTemp5_1,lngTemp5_2

dim lngTemp6,lngTemp6_1,lngTemp6_2


if CurrentPage=1 then

BeginPoint=1

else

BeginPoint=MaxPerPage_Content*(CurrentPage-1)+1


lngTemp1_1_1=instr(BeginPoint,strContent,"</table>",1)

lngTemp1_1_2=instr(BeginPoint,strContent,"</TABLE>",1)

lngTemp1_1_3=instr(BeginPoint,strContent,"</Table>",1)

if lngTemp1_1_1>0 then

lngTemp1_1=lngTemp1_1_1

elseif lngTemp1_1_2>0 then

lngTemp1_1=lngTemp1_1_2

elseif lngTemp1_1_3>0 then

lngTemp1_1=lngTemp1_1_3

else

lngTemp1_1=0

end if


lngTemp1_2_1=instr(BeginPoint,strContent,"<table",1)

lngTemp1_2_2=instr(BeginPoint,strContent,"<TABLE",1)

lngTemp1_2_3=instr(BeginPoint,strContent,"<Table",1)

if lngTemp1_2_1>0 then

lngTemp1_2=lngTemp1_2_1

elseif lngTemp1_2_2>0 then

lngTemp1_2=lngTemp1_2_2

elseif lngTemp1_2_3>0 then

lngTemp1_2=lngTemp1_2_3

else

lngTemp1_2=0

end if


if lngTemp1_1=0 and lngTemp1_2=0 then

lngTemp1=BeginPoint

else

if lngTemp1_1>lngTemp1_2 then

lngtemp1=lngTemp1_2

else

lngTemp1=lngTemp1_1+8

end if

end if


lngTemp2_1_1=instr(BeginPoint,strContent,"</p>",1)

lngTemp2_1_2=instr(BeginPoint,strContent,"</P>",1)

if lngTemp2_1_1>0 then

lngTemp2_1=lngTemp2_1_1

elseif lngTemp2_1_2>0 then

lngTemp2_1=lngTemp2_1_2

else

lngTemp2_1=0

end if


lngTemp2_2_1=instr(BeginPoint,strContent,"<p",1)

lngTemp2_2_2=instr(BeginPoint,strContent,"<P",1)

if lngTemp2_2_1>0 then

lngTemp2_2=lngTemp2_2_1

elseif lngTemp2_2_2>0 then

lngTemp2_2=lngTemp2_2_2

else

lngTemp2_2=0

end if


if lngTemp2_1=0 and lngTemp2_2=0 then

lngTemp2=BeginPoint

else

if lngTemp2_1>lngTemp2_2 then

lngtemp2=lngTemp2_2

else

lngTemp2=lngTemp2_1+4

end if

end if


lngTemp3_1_1=instr(BeginPoint,strContent,"</ur>",1)

lngTemp3_1_2=instr(BeginPoint,strContent,"</UR>",1)

if lngTemp3_1_1>0 then

lngTemp3_1=lngTemp3_1_1

elseif lngTemp3_1_2>0 then

lngTemp3_1=lngTemp3_1_2

else

lngTemp3_1=0

end if


lngTemp3_2_1=instr(BeginPoint,strContent,"<ur",1)

lngTemp3_2_2=instr(BeginPoint,strContent,"<UR",1)

if lngTemp3_2_1>0 then

lngTemp3_2=lngTemp3_2_1

elseif lngTemp3_2_2>0 then

lngTemp3_2=lngTemp3_2_2

else

lngTemp3_2=0

end if


if lngTemp3_1=0 and lngTemp3_2=0 then

lngTemp3=BeginPoint

else

if lngTemp3_1>lngTemp3_2 then

lngtemp3=lngTemp3_2

else

lngTemp3=lngTemp3_1+5

end if

end if


if lngTemp1<lngTemp2 then

lngTemp=lngTemp2

else

lngTemp=lngTemp1

end if

if lngTemp<lngTemp3 then

lngTemp=lngTemp3

end if


if lngTemp>BeginPoint and lngTemp<=BeginPoint+lngBound then

BeginPoint=lngTemp

else

lngTemp4_1_1=instr(BeginPoint,strContent,"</li>",1)

lngTemp4_1_2=instr(BeginPoint,strContent,"</LI>",1)

if lngTemp4_1_1>0 then

lngTemp4_1=lngTemp4_1_1

elseif lngTemp4_1_2>0 then

lngTemp4_1=lngTemp4_1_2

else

lngTemp4_1=0

end if


lngTemp4_2_1=instr(BeginPoint,strContent,"<li",1)

lngTemp4_2_1=instr(BeginPoint,strContent,"<LI",1)

if lngTemp4_2_1>0 then

lngTemp4_2=lngTemp4_2_1

elseif lngTemp4_2_2>0 then

lngTemp4_2=lngTemp4_2_2

else

lngTemp4_2=0

end if


if lngTemp4_1=0 and lngTemp4_2=0 then

lngTemp4=BeginPoint

else

if lngTemp4_1>lngTemp4_2 then

lngtemp4=lngTemp4_2

else

lngTemp4=lngTemp4_1+5

end if

end if


if lngTemp4>BeginPoint and lngTemp4<=BeginPoint+lngBound then

BeginPoint=lngTemp4

else

lngTemp5_1=instr(BeginPoint,strContent,"<img",1)

lngTemp5_2=instr(BeginPoint,strContent,"<IMG",1)

if lngTemp5_1>0 then

lngTemp5=lngTemp5_1

elseif lngTemp5_2>0 then

lngTemp5=lngTemp5_2

else

lngTemp5=BeginPoint

end if


if lngTemp5>BeginPoint and lngTemp5<BeginPoint+lngBound then

BeginPoint=lngTemp5

else

lngTemp6_1=instr(BeginPoint,strContent,"<br/>",1)

lngTemp6_2=instr(BeginPoint,strContent,"<BR>",1)

if lngTemp6_1>0 then

lngTemp6=lngTemp6_1

elseif lngTemp6_2>0 then

lngTemp6=lngTemp6_2

else

lngTemp6=0

end if


if lngTemp6>BeginPoint and lngTemp6<BeginPoint+lngBound then

BeginPoint=lngTemp6+4

end if

end if

end if

end if

end if


if CurrentPage=pages then

EndPoint=ContentLen

else

  EndPoint=MaxPerPage_Content*CurrentPage

  if EndPoint>=ContentLen then

EndPoint=ContentLen

  else

lngTemp1_1_1=instr(EndPoint,strContent,"</table>",1)

lngTemp1_1_2=instr(EndPoint,strContent,"</TABLE>",1)

lngTemp1_1_3=instr(EndPoint,strContent,"</Table>",1)

if lngTemp1_1_1>0 then

lngTemp1_1=lngTemp1_1_1

elseif lngTemp1_1_2>0 then

lngTemp1_1=lngTemp1_1_2

elseif lngTemp1_1_3>0 then

lngTemp1_1=lngTemp1_1_3

else

lngTemp1_1=0

end if


lngTemp1_2_1=instr(EndPoint,strContent,"<table",1)

lngTemp1_2_2=instr(EndPoint,strContent,"<TABLE",1)

lngTemp1_2_3=instr(EndPoint,strContent,"<Table",1)

if lngTemp1_2_1>0 then

lngTemp1_2=lngTemp1_2_1

elseif lngTemp1_2_2>0 then

lngTemp1_2=lngTemp1_2_2

elseif lngTemp1_2_3>0 then

lngTemp1_2=lngTemp1_2_3

else

lngTemp1_2=0

end if


if lngTemp1_1=0 and lngTemp1_2=0 then

lngTemp1=EndPoint

else

if lngTemp1_1>lngTemp1_2 then

lngtemp1=lngTemp1_2-1

else

lngTemp1=lngTemp1_1+7

end if

end if


lngTemp2_1_1=instr(EndPoint,strContent,"</p>",1)

lngTemp2_1_2=instr(EndPoint,strContent,"</P>",1)

if lngTemp2_1_1>0 then

lngTemp2_1=lngTemp2_1_1

elseif lngTemp2_1_2>0 then

lngTemp2_1=lngTemp2_1_2

else

lngTemp2_1=0

end if


lngTemp2_2_1=instr(EndPoint,strContent,"<p",1)

lngTemp2_2_2=instr(EndPoint,strContent,"<P",1)

if lngTemp2_2_1>0 then

lngTemp2_2=lngTemp2_2_1

elseif lngTemp2_2_2>0 then

lngTemp2_2=lngTemp2_2_2

else

lngTemp2_2=0

end if


if lngTemp2_1=0 and lngTemp2_2=0 then

lngTemp2=EndPoint

else

if lngTemp2_1>lngTemp2_2 then

lngTemp2=lngTemp2_2-1

else

lngTemp2=lngTemp2_1+3

end if

end if


lngTemp3_1_1=instr(EndPoint,strContent,"</ur>",1)

lngTemp3_1_2=instr(EndPoint,strContent,"</UR>",1)

if lngTemp3_1_1>0 then

lngTemp3_1=lngTemp3_1_1

elseif lngTemp3_1_2>0 then

lngTemp3_1=lngTemp3_1_2

else

lngTemp3_1=0

end if


lngTemp3_2_1=instr(EndPoint,strContent,"<ur",1)

lngTemp3_2_2=instr(EndPoint,strContent,"<UR",1)

if lngTemp3_2_1>0 then

lngTemp3_2=lngTemp3_2_1

elseif lngTemp3_2_2>0 then

lngTemp3_2=lngTemp3_2_2

else

lngTemp3_2=0

end if


if lngTemp3_1=0 and lngTemp3_2=0 then

lngTemp3=EndPoint

else

if lngTemp3_1>lngTemp3_2 then

lngtemp3=lngTemp3_2-1

else

lngTemp3=lngTemp3_1+4

end if

end if


if lngTemp1<lngTemp2 then

lngTemp=lngTemp2

else

lngTemp=lngTemp1

end if

if lngTemp<lngTemp3 then

lngTemp=lngTemp3

end if


if lngTemp>EndPoint and lngTemp<=EndPoint+lngBound then

EndPoint=lngTemp

else

lngTemp4_1_1=instr(EndPoint,strContent,"</li>",1)

lngTemp4_1_2=instr(EndPoint,strContent,"</LI>",1)

if lngTemp4_1_1>0 then

lngTemp4_1=lngTemp4_1_1

elseif lngTemp4_1_2>0 then

lngTemp4_1=lngTemp4_1_2

else

lngTemp4_1=0

end if


lngTemp4_2_1=instr(EndPoint,strContent,"<li",1)

lngTemp4_2_1=instr(EndPoint,strContent,"<LI",1)

if lngTemp4_2_1>0 then

lngTemp4_2=lngTemp4_2_1

elseif lngTemp4_2_2>0 then

lngTemp4_2=lngTemp4_2_2

else

lngTemp4_2=0

end if


if lngTemp4_1=0 and lngTemp4_2=0 then

lngTemp4=EndPoint

else

if lngTemp4_1>lngTemp4_2 then

lngtemp4=lngTemp4_2-1

else

lngTemp4=lngTemp4_1+4

end if

end if


if lngTemp4>EndPoint and lngTemp4<=EndPoint+lngBound then

EndPoint=lngTemp4

else

lngTemp5_1=instr(EndPoint,strContent,"<img",1)

lngTemp5_2=instr(EndPoint,strContent,"<IMG",1)

if lngTemp5_1>0 then

lngTemp5=lngTemp5_1-1

elseif lngTemp5_2>0 then

lngTemp5=lngTemp5_2-1

else

lngTemp5=EndPoint

end if


if lngTemp5>EndPoint and lngTemp5<EndPoint+lngBound then

EndPoint=lngTemp5

else

lngTemp6_1=instr(EndPoint,strContent,"<br/>",1)

lngTemp6_2=instr(EndPoint,strContent,"<BR>",1)

if lngTemp6_1>0 then

lngTemp6=lngTemp6_1+3

elseif lngTemp6_2>0 then

lngTemp6=lngTemp6_2+3

else

lngTemp6=EndPoint

end if


if lngTemp6>EndPoint and lngTemp6<EndPoint+lngBound then

EndPoint=lngTemp6

end if

end if

end if

end if

  end if

end if

response.write mid(strContent,BeginPoint,EndPoint-BeginPoint)


response.write "</p><p align='center'><b>"

if CurrentPage>1 then

response.write "<a href='" & webpage & "?ID=" & ID & "&sPage=" & CurrentPage-1 & "'>上一页</a>&nbsp;&nbsp;"

end if

for i=1 to pages

if i=CurrentPage then

response.write "<font color='red'>[" & cstr(i) & "]</font>&nbsp;"

else

response.write "<a href='" & webpage & "?ID=" & ID & "&sPage=" & i & "'>[" & i & "]</a>&nbsp;"

end if

next

if CurrentPage<pages then

response.write "&nbsp;<a href='" & webpage & "?ID=" & ID & "&sPage=" & CurrentPage+1 & "'>下一页</a>"

end if

response.write "</b></p>"

end if


end sub

%>




开始演示

------------show.asp页代码如下------------------------


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

<% set rs=server.CreateObject("adodb.recordset")

Id=request("Id")'获取相应ID

sql="SELECT * FROM table where Id="& request("Id")

rs.open sql,conn,1,1

%>

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

<html>

<head>

<title>详细内容显示</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

</head>

<body>

<table width="100%">

<tr>

<td style="word-break:break-all;">

<p align="center">

<b>标题:<%=rs("Title")%></b>

</p>

<br/>

<p>

<%call ShowContent(""&rs("Id")&"",""&rs("Content")&"","show.asp")%>

</p>

</td>

</tr>

</table>

</body>

</html>

 

  1. 1