ASP网页编程之页面输入太多会严峻影响web程序的功能
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对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
页:
[1]