|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP脚本是采用明文(plaintext)方式来编写的。web|程序|功能|页面我有如许一个小程序:asp+sqlserver2000。
数据量增添的很快,比来发明它的功能十分差,每次翻开都必要十几秒,乃至几十秒,由于我
的程序分页用的是我本人的分页程序:
岂非这个分页程序有成绩,可是其他中央用到它没有感到到慢呀,我没事就揣摩他,到网上查材料,了局没有详细查到说到我的谁人分页程序功能差的相干材料,厥后我发明我的程序中的页导航用的是数字导航办法,并且一切的页导航的数字全都输入来了,一共一千多页,能不克不及使这个中央慢呢?我决意测试一下,以是,我就只让他输入前200页的导航链接,了局1秒钟就刷出来了。这我才名顿开,本来是输入内容太多招致的。之前碰到功能成绩城市往想数据库操纵,历来没有想到其他中央会不会有成绩,或很少想其他中央。实在页面输入的数据量对功能也是有很年夜影响的,以是我们必定要养成优秀的程序誊写习气,力图复杂。
厥后我对程序举行了优化,优化分两个步骤,第一个步骤我不将一切的导航都输入来,只输入前200多页,前面再加一个文本框用于导航。
同时我对每一个链接举行了简化,本来每一个下面都有很长的链接,至此我将链接放到了javascript函数中,然后再导航数字上只加上一个onclick事务。如许又能够削减良多输入数据。了局功能十分好。
本来的代码片段:
<fontcolor="#008080"size="2">以后<fontcolor=ff0000>
<%=tCurPage%></font>页共<fontcolor=ff0000>
<%=tpagecount%></font>页
<br><%iftTotalCount>0then
fori=1totPagecount
%><ahref=<%=request.servervariables("Path_Info")%>
?page=<%=i%>&browserSize=<%=browserSize%>
&t_count=<%=tTotalCount%>&order_field=<%=tOrderField%>
&order_dir=<%=tOrderDirection%>&oType=<%=oType%>
&oOP=<%=oOP%>&oKey=<%=FilterParam4(oKey)%>
&page_size=<%=tPageSize%><%=add_Option%>><%=i%></a>
<%ifbrowserSize=1then
ifi=20ori=36thenresponse.write""
endif
ifi=fCouthen
exitfor
endif
response.write""
next%>
<%dimallStr
iftpagecount>fCouthen
fori=fCou+1totpagecount
ifbrowserSize=0then
m=(i=74ori=107or(i>107and((i-107)mod27)=0))
else
m=(i=94ori=130or(i>130and((i-130)mod35)=0))
endif
allStr=allStr&"<ahref="&request.servervariables("Path_Info")&"?
page="&i&"&browserSize="&browserSize&"&t_count="&tTotalCount&
"&order_field="&tOrderField&"&order_dir="&tOrderDirection&"&
oType="&oType&"&oOP="&oOP&"&oKey="&FilterParam4
(oKey)&"&page_size="&tPageSize&add_Option&
">"
allStr=allStr&i
allStr=allStr&"</a>"
ifnotmthenallStr=allStr&""
ifmthenallStr=allStr&"<br>"
ifbrowserSize=1then
ifi=58ori=71thenallStr=allStr&""
endif
ifi=106thenallStr=allStr&""
next%>
<scriptlanguage=javascript>
varallStr;
allStr="<%=allStr%>";
</script><ahref="#"title="显现更多…"id=seemore
>
<fontcolor=ff0000>∨</font></a><spanid=morePage></span>
<%endif%>
<%endif%></font>
变动后的代码片段:
< scriptlanguage="javascript">
functionmP(curPage)
{
try{
if(!curPage)returnfalse;
varpatInt=/^d+$/;
if(!patInt.test(curPage))returnfalse;
if(parseInt(curPage)<=0)returnfalse;
self.location=<%=request.servervariables("Path_Info")%>?
page=+curPage+&browserSize=<%=browserSize%>
&t_count=<%=tTotalCount%>&order_field=<%=tOrderField%>
&order_dir=<%=tOrderDirection%>&oType=<%=oType%>
&oOP=<%=oOP%>&oKey=<%=FilterParam4(oKey)%>
&page_size=<%=tPageSize%><%=add_Option%>;
}
catch(e){
window.status=e.description
returnfalse;
}
}
< /script>
<fontcolor="#008080"size="2">以后<fontcolor=ff0000>
<%=tCurPage%></font>页共<fontcolor=ff0000>
<%=tpagecount%></font>页
<br><%iftTotalCount>0then
fori=1totPagecount
%><span><%=i%></span>
<%ifbrowserSize=1then
ifi=20ori=36thenresponse.write""
endif
ifi=fCouthen
exitfor
endif
response.write""
next
dimallStr
iftpagecount>fCouthen
showPageCount=tpagecount
ifshowPageCount>260thenshowPageCount=260
fori=fCou+1toshowPageCount
ifbrowserSize=0then
m=(i=74ori=107or(i>107and((i-107)mod27)=0))
else
m=(i=94ori=130or(i>130and((i-130)mod35)=0))
endif
allStr=allStr&"<span>"&i&"</span>"
ifnotmthenallStr=allStr&""
ifmthenallStr=allStr&"<br>"
ifbrowserSize=1then
ifi=58ori=71thenallStr=allStr&""
endif
ifi=106thenallStr=allStr&""
next
allStr=allStr&"转至第<inputid=""sPageNo""
class=""line""maxlength=""5""
size=""6"">页<span>GO</span>"%><ahref="#"title="显现更多…"
id=seemore><fontcolor=ff0000>∨</font></a>
<spanid=morePagestyle="display:none"><%=allStr%></span>
<%endif
endif
%></font>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 |
|