若天明 发表于 2015-1-16 22:05:43

ASP网站制作之JS+ASP打造无革新旧事列表

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。旧事列表在各年夜网站中其实不少见,有了旧事列表就少不了分页,明天我们要谈的就是各分页间的切换体例。传统的办法是将页码以URL参数的情势传到列表页,列表页内程序依据传进的参数来显现分歧的内容,这之间就有了一次革新。但是良多时分页面中的旧事列表只占该页结构的一小部分,分了更新这小部分的内容却得革新全部页面的内容,有人抗议了,因而以后就有人接纳XMLHTTP、AJAX等手艺来完成无革新更新列表。明天我们也要完成无革新更新列表,但不利用XMLHTTP、AJAX等新手艺,只利用传统的JavaScript和ASP言语来完成。
1、成绩的提出
公司网站要更新,前台今天做完了,明天由我套程序,为公司旧事页中的旧事列表,看到它就突发奇想:做为收集公司的网站应当有点手艺含量才行,那明天这列表也来玩玩无革新。要到达只在部分举行更新,实在用浮动框架(iframe)也能做到,可是这个页面有背景图片且图案不是划定规矩的,用浮动框架很难到达背景一致;那用XMLHTTP、AJAX?惋惜这两个也只是打仗一点外相,要用它们来完成无革新还得翻阅一些材料,我也不想用它,由于我想到了用JavaScript+ASP也能够完成的,固然思绪临时不是很明晰,但信任必定能行!
2、剖析成绩
有玩过动网的人应当晓得它在注册和登录页中都有考证码这一项,这考证码另有个功效:当数字不是很明晰时你能够用左键点击一下考证码,就可以革新成新的考证码了。注重,只革新考证码,页面其他部分没革新哦!之前我专门针对这个研讨了很久,查阅了材料,厥后总结成一篇文章叫"script挪用ASP完成历程",有乐趣的伴侣务必先看看,要不下边的您大概就看得不太分明了。
看了"script挪用ASP完成历程"再转头想一想动网的考证码,您也也许晓得我要怎样做了吧,呵呵。我们持续说,下边我们先来剖析下中列表处的代码,代码以下:
<divID="titleLiNews">
<ul>
<li><ahref="#">于召开宽带非常失落线研讨试点事情会商会的关照</a>(2005-01-12)</li>
<li><ahref="#">做好2005年中秋节收集监控和话务疏浚事情的要</a>...(2005-01-12)</li>
<li><ahref="#">于请求做好中秋务岑岭时代智能网营业通讯保证相干</a>...(2005-01-12)</li>
<li><ahref="#">增强进攻第15号台风“卡努”的告急关照</a>(2005-01-12)</li>
<li><ahref="#">地下载9月第2周话双方式的ADSL失落线统计及清</a>...(2005-01-12)</li>
<li><ahref="#">于请求做好中秋务岑岭时代智能网营业通讯保证相干</a>...(2003-01-12)</li>
<li><ahref="#">于增强进攻第15号台风“卡努”的告急关照</a>(2007-10-12)</li>
<li><ahref="#">于召开宽带非常失落线研讨试点事情会商会的关照</a>(2005-01-12)</li>
<li><ahref="#">做好2005年中秋节收集监控和话务疏浚事情的要</a>...(2005-01-12)</li>
<li><ahref="#">于请求做好中秋务岑岭时代智能网营业通讯保证相干</a>...(2005-01-12)</li>
</ul>
</div>
在tianxia.CSS文件中我还找到了把持它的款式:
#titleLiNews{
}
#titleLiNewsul{
list-style-type:none;
margin:0px;
padding:0px;
width:550px;
}
#titleLiNewsulli{
font-size:9px;
line-height:21px;
color:#0099FF;
text-decoration:none;
background-image:url(images/line02.jpg);
background-repeat:no-repeat;
margin:0px10px0px20px;
padding:0px;
font-family:"Verdana","Arial","Helvetica","sans-serif";
list-style-position:inside;
list-style-type:disc;
border-bottom-width:1px;
border-bottom-style:dotted;
border-bottom-color:#0051A2;
}
#titleLiNewsullia{
color:#FFFFFF;
text-decoration:none;
font-size:12px;
}
#titleLiNewsullia:hover{
color:#FFFF00;
text-decoration:underline;
font-size:12px;
}
ID类、伪类,看这些款式,我不能不想到web尺度,我想mei工在Web尺度上也是下过工夫的,忍不住对他又多了些佩服。OK,分离上边全体听到的看到的,我们不难想出这么一条思绪:计划一个ASP页面,这个页面可承受参数即显现页数,该页程序查询数据库后依据参数举行分页并将了局以JS语法输入,公司旧事页中只须加一条语句挪用便可。
3、办理成绩
假定公司旧事页文件名:news.ASP、查询页文件名:newslit.asp。
news.ASP次要代码以下:
<HTML>
<head>
<metahttp-equiv="Content-Type"content="text/HTML;charset=gb2312"/>
<title>公司旧事</title>
<scriptlanguage="JavaScript"type="text/javascript">
functionshowpage(n){
document.scripts.src="newslist.ASP?page_no="+n;
}
</script>
<scriptlanguage="JavaScript"type="text/javascript"src=""></script>
</head>
<body>
<divID="titleLiNews">
</div>
<ahref="JavaScript:showpage(1);">1</a>&nbsp;<ahref="javascript:showpage(2);">2</a>&nbsp;<ahref="javascript:showpage(3);">3</a>
<scriptlanguage="JavaScript"type="text/javascript">showpage(1);</script>
</body>
</HTML>
newslist.ASP代码:
<%
Dimconn
Setconn=server.createobject("ADODB.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;datasource="&server.mappath("db1.mdb")
conn.open
Dimpage_no,sqlstr,rs,i,str
page_no=request.querystring("page_no")
Sqlstr="select*fromnews"
Setrs=Server.CreateObject("ADODB.RecordSet")
Rs.opensqlstr,conn,1,2
Rs.pagesize=3
Rs.absolutepage=page_no
Str="document.getElementById(titleLiNews).innerHTML=""<Ul>"
Ifrs.eofthenstr=str&"<li>暂无旧事</li>"&"</Ul>;"
i=3
Dowhilenotrs.eofandi>0
i=i-1
str=str&"<li><ahref=newsview.ASP?id="&rs("id")&">"&rs("title")&"</a></li>"
rs.movenext
Loop
str=str&"</Ul>"";"
setrs=nothing
setconn=nothing
Response.writestr
%>
4、跋文
从"动网考证码"到"script挪用ASP完成历程"再到"JavaScript+ASP打造无革新旧事列表",我们能够触类旁通,比方注册用户时无革新判别用户名是不是被注册、无革新表单考证等都能够用Javascript+ASP来完成了。
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!

老尸 发表于 2015-1-17 20:50:44

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

蒙在股里 发表于 2015-1-21 09:19:38

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

不帅 发表于 2015-1-30 13:20:06

不能只是将它停留在纸上谈兵的程度上。

透明 发表于 2015-2-16 03:48:46

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

飘灵儿 发表于 2015-3-4 23:31:46

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。

金色的骷髅 发表于 2015-3-11 21:24:58

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

灵魂腐蚀 发表于 2015-3-19 14:18:14

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

若天明 发表于 2015-3-28 12:59:00

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP网站制作之JS+ASP打造无革新旧事列表