爱飞 发表于 2015-1-16 22:43:38

ASP网页设计用ASP+XML打造酷酷留言本2

asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了! endif
  StarNodes=PageNo*PageSize-1取得肇端节点
  EndNodes=(PageNo-1)*PageSize取得停止节点
  ifEndNodes<0then
  EndNodes=0
  endif
  ifStarNodes>AllNodesNumthen判别肇端节点数是不是凌驾总的节点数
  EndNodes=EndNodes-(StarNodes-AllNodesNum)
  假如凌驾则停止节点要减往(StarNodes-AllNodesNum)的差值不然下标会超界堕落
  StarNodes=AllNodesNum
  endif
  ifEndNodes<0then
  EndNodes=0
  endif
  whileStarNodes>=EndNodes
  从停止节点到超始节点之间读取节点数据
  username=objRootsite.childNodes.item(StarNodes).childNodes.item(1).text
  取得用户名
  fromwhere=objRootsite.childNodes.item(StarNodes).childNodes.item(2).text
  取得用户来自那边
  Posttime=objRootsite.childNodes.item(StarNodes).childNodes.item(3).text
  取得留言工夫
  homepage=objRootsite.childNodes.item(StarNodes).childNodes.item(4).text
  取得用户主页
  email=objRootsite.childNodes.item(StarNodes).childNodes.item(5).text
  取得用户Eamil
  text=objRootsite.childNodes.item(StarNodes).childNodes.item(6).text
  获昨留言内容

  *****************************************************************************
  这里使作了XML的DOM来读取数据,明显objRootsite对像所对应的节点为<NewList>
  objRootsite.childNodes.item(StarNodes)所对应的节点就是<list>节点由于不至一个<list>节点以是用了item()来辨认以后节点数据,跟着StarNodes的递加<list>节点根着往上移一个个读取<list>节点数据。
  objRootsite.childNodes.item(StarNodes).childNodes.item(1).text所对应的节点为详细的每一个节点的文本值,这里(1)所对应的就是username用户名(由于<list>节点的子节点才是我们真正所要的)
  ******************************************************************************

  text=replace(text,chr(13),"<br>")
  替换回车
  text=replace(text,chr(32),"")
  替换空格
  %>
  <trbgcolor="#F0F0F0">
  <tdwidth="21%"height="94"valign="top">姓名:<%=username%><br>
  来自:<%=fromwhere%><br>
  </td>
  <tdwidth="79%"height="94"valign="top">|<ahref="<%=homepage%>"target=_blanktitle="<%=username%
  >的主页">主页</a>
  ||<ahref="mailto:<%=email%>"title="给<%=username%>写信">信箱</a>||<fontcolor="#CC6633">
  留言工夫:<%=Posttime%></font>|
  <hr>
  <%=text%></td>
  </tr>
  <trbgcolor="#FFFFFF"align="right">
  <tdcolspan="2"></td>
  </tr>
  <%
  StarNodes=StarNodes-1
  wend
  setobjXML=nothing

  %>
  <trbgcolor="#FFFFFF"align="right">
  <tdcolspan="2">共有<<%=PageNum%>>页
  <%
  ifcint(PageNo)PageNumthen分页
  response.write"<ahref=index.asp?PageNo="&(PageNo+1)&">上一页</a>"
  endif
  ifcint(PageNo)1then
  response.write"<ahref=index.asp?PageNo="&(PageNo-1)&">下一页</a>"
  endif
  %>
  </td>
  </tr>
  </table>
  </body>
  </html>


  6、创建写新留言程序(PostNew.asp)
  这个文件要完成的功效就是写进新的XML节点,起首创立一个XML对像然后把XML读进内存中,使用appendChild()办法到场我们天生的XML节点。

  <%
  username=request.form("username")
  ifusername""then
  fromwhere=request.form("fromwhere")
  homepage=request.form("homepage")
  email=request.form("email")
  text=request.form("text")
  text=replace(text,"<","<")
  Posttime=now()
  strSourceFile=Server.MapPath("/")&"List.xml"
  猎取XML文件的路径这里依据你的假造目次分歧而分歧
  SetobjXML=Server.CreateObject("Microsoft.XMLDOM")
  创立XML对像
  objXML.load(strSourceFile)
  把XML文件读进内存中
  SetobjRootlist=objXML.documentElement.selectSingleNode("NewList")
  拔取<NewList>节点
  ifobjRootlist.hasChildNodesthen
  判别<NewList>是不是有子节点(由于假如是每次<NewList>是没有子节点的,
  ’假如不加判别在第一次运得时就会报错
  id=objRootlist.lastchild.firstchild.text+1
  这里取得将要拔出子节点的ID号,其ID号为<NewList>的最初一个子节点(lastchild)的第一个子节点(firstchild)的ID号加1(这里我们依照干系型数据库的ID号来递增)
  else
  如是没有字子节点则是第一次留言ID号设为1
  id=1
  endif
  brstr=chr(13)&chr(10)&chr(9)
  为了拔出XML文件中的节点换行空格分列划一
  ’(固然你也能够不必如许只是为了XML数据悦目而以)
  XMLnode=brstr&"<list>"&brstr&_
  "<id>"&id&"</id>"&brstr&_
  "<username>"&username&"</username>"&brstr&_
  "<fromwhere>"&fromwhere&"</fromwhere>"&brstr&_
  "<Posttime>"&Posttime&"</Posttime>"&brstr&_
  "<homepage>"&homepage&"</homepage>"&brstr&_
  "<email>"&email&"</email>"&brstr&_
  "<text>"&text&"</text>"&brstr&_
  "</list>"&chr(13)
  依据失掉的数据创建XML片断
  setobjXML2=Server.CreateObject("Microsoft.XMLDOM")
  创建一个新XML对像
  objXML2.loadXML(XMLnode)
  把XML版片断读进内存中


setrootNewNode=objXML2.documentElement
  取得objXML2的根节点
  objRootlist.appendChild(rootNewNode)
  把XML片断拔出到List.xml中
  objXML.save(strSourceFile)
  存储lsit.xml文件(由于不存储List.xml只在内存中更新了)
  setobjXML=nothing
  setobjXML2=nothing
  response.write"感谢您的留言"
  response.end
  endif
  %>
  <html>
  <head>
  <title>UntitledDocument</title>
  <metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
  <styletype="text/css">
  <!--
  td{font-size:9pt}
  -->
  </style>
  </head>
  <bodybgcolor="#0099CC"text="#000000">
  <tablewidth="80%"border="0"cellspacing="1"cellpadding="4"align="center"bgcolor="#FFFFFF">
  <formaction="PostNew.asp"method="post"name="form1">
  <trbgcolor="#000000">
  <tdcolspan="2"><fontcolor="#FFFFFF">新留言</font></td>
  </tr>
  <trbgcolor="#EFEFEF">
  <tdwidth="19%"align="right">姓名:</td>
  <tdwidth="81%">
  <inputtype="text"name="username">
  **</td>
  </tr>
  <trbgcolor="#EFEFEF">
  <tdwidth="19%"align="right">来自:</td>
  <tdwidth="81%">
  <inputtype="text"name="fromwhere"value="中国">
  </td>
  </tr>
  <trbgcolor="#EFEFEF">
  <tdwidth="19%"align="right">主页:</td>
  <tdwidth="81%">
  <inputtype="text"name="homepage"value="http://">
  </td>
  </tr>
  <trbgcolor="#EFEFEF">
  <tdwidth="19%"align="right">Email:</td>
  <tdwidth="81%">
  <inputtype="text"name="email">
  </td>
  </tr>
  <trbgcolor="#EFEFEF">
  <tdwidth="19%"align="right"valign="top">内容:</td>
  <tdwidth="81%">
  <textareaname="text"cols="60"rows="10"></textarea>
  </td>
  </tr>
  <trbgcolor="#EFEFEF">
  <tdwidth="19%"align="right"></td>
  <tdwidth="81%">
  <inputtype="submit"name="Submit"value="提交">
  <inputtype="reset"name="Submit2"value="重填">
  </td>
  </tr>
  </form>
  </table>
  </body>
  </html>


  7、总结
  到这里我们就创建一个复杂并有分页功效的XML留言本了,呵看完了复杂吧,实在我这里只起一个举一反三的功效,其目标是引诱人人创建更庞大更好的ASP+XML程序,比方:所下面的留言本加上复兴功效,办理功效,点击计数据功效等,乃至你能够把它变一个BBS等等。最初留言本运转了局以下:
  (List.xml在IE5上面的运转了局)
  (留言本index.asp运转了局)




  (PostNew.asp运得了局)




  最初假如你拷贝我下面的程序的不克不及运转,但是是拷贝时大概是我正文时堕落了(不外首页要反省strSourceFile=Server.MapPath("/")&"List.xml"这里是不是堕落了,不外我能够告知你假如是提醒短少对像那末多是这里堕落了),最初你能够到http://Page2000.xiloo.com往下载源程序,也能够给我来信asp_boys@cmmail.com我会尽快给你寄往源程序。假如你有甚么成绩能够到http://www.4u2v.com/bbs由于我多在那边回覆一些我晓得的成绩。


asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。

小魔女 发表于 2015-1-18 08:45:25

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

乐观 发表于 2015-1-21 14:12:39

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

兰色精灵 发表于 2015-1-30 19:49:21

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

因胸联盟 发表于 2015-2-6 15:36:11

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

第二个灵魂 发表于 2015-2-16 21:55:27

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

小女巫 发表于 2015-3-5 10:18:27

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

分手快乐 发表于 2015-3-12 04:14:05

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

只想知道 发表于 2015-3-19 17:57:36

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
页: [1]
查看完整版本: ASP网页设计用ASP+XML打造酷酷留言本2