-- 作者:xloxf
-- 发布时间:11/27/2008 4:34:00 PM
-- [讨论]自己做了一个ASP+XML的小实例(修改XML数据没有实现),请求帮助
刚学习XML,自己试着做了一个ASP+XML的小实例(通讯录),其中浏览、添加操作已经实现,现正在做修改数据操作也就是通过MODIFY.ASP页面的脚本修改DETAIL.ASP中的记录。 出现一个问题:从MAIN.ASP传送给DETAIL.ASP的参数INDEX,我继续在MODIFY.ASP中使用时不能用了。大家帮我看看该怎么实现这个修改功能啊? 代码如下所示: MAIN.ASP: <%@language="vbscript"%> <% response.buffer=true %> <% set objXML=Server.CreateObject("Microsoft.XMLDOM") objXML.async=false objXML.load(Server.MapPath("class.xml")) set classNodeList=objXML.getElementsByTagName("class") %> <html> <head> <title>通讯录</title> </head> <script language="javascript"> function showContent(index) { window.showModelessDialog("detail.asp?index="+index); } </script> <BODY> 我的通讯录 <TABLE width="80%" align="center" border="1"> <tr> <td>学号</td> <td>姓名</td> <td>性别</td> <td>出生日期</td> <td>家庭住址</td> <td>联系电话</td> <td>QQ号码</td> </tr> <% for i=0 to classNodeList.length-1 set classNode = classNodeList(i) %> <tr> <td> <% Response.write( "<a href=""javascript:showContent( " & i & " )"">" ) Response.write( classNode.childNodes( 0 ).text ) Response.write( "</a>" ) %> </td> <td> <% Response.write( classNode.childNodes( 1 ).text ) %> </td> <td> <% Response.write( classNode.childNodes( 2 ).text ) %> </td> <td> <% Response.write( classNode.childNodes( 3 ).text ) %> </td> <td> <% Response.write( classNode.childNodes( 4 ).text ) %> </td> <td> <% Response.write( classNode.childNodes( 5 ).text ) %> </td> <td> <% Response.write( classNode.childNodes( 6 ).text ) %> </td> <td> </td> </tr> <% next %> <tr> <table align="center"> <tr> <td align="right"><a href="insert.asp">添加</a>  <input type="button" value="删除" name="CMD_DEL"></td> </tr> </tr> </TABLE> </BODY> </html> ---------------------------------------------------------- DETAIL.ASP: <% response.buffer=true %> <html> <head> <title>同学基本信息</title> </head> <body> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <TABLE align="center"> <tr><TD align="center">信息登记</td></tr> <tr> <% set objXML=Server.CreateObject("Microsoft.XMLDOM") objXML.async=false objXML.load(Server.MapPath("class.xml")) set classNodeList=objXML.getElementsByTagName("class") set index=request("index") %> <pre> <Form action="modify.asp" method="post"> <table align="center"> <% set classNode=classNodeList(index) %> <tr> <td>学号</td><td><% response.write(classNode.childNodes(0).text) %></td> </tr> <tr> <td>姓名</td><td><input type="text" name="txtsname" size="20" value="<% response.write(classNode.childNodes(1).text) %>"></td> </tr> <tr> <td>性别</td><td><input type="text" name="txtssex" size="20" value="<% response.write(classNode.childNodes(2).text) %>"></td> </tr> <tr> <td>出生日期</td><td><input type="text" name="txtbirth" size="20" value="<% response.write(classNode.childNodes(3).text) %>"></td> </tr> <tr> <td>家庭住址</td><td><input type="text" name="txtaddress" size="20" value="<% response.write(classNode.childNodes(4).text) %>"></td> </tr> <tr> <td>联系电话</td><td><input type="text" name="txttelephone" size="20" value="<% response.write(classNode.childNodes(5).text) %>"></td> </tr> <tr> <td>QQ号码</td><td><input type="text" name="txtqq" size="20" value="<% response.write(classNode.childNodes(6).text) %>"></td> </tr> <tr> <td><input type="submit" name="更新" value=" 更新 "></td> <td><input type="button" value="关闭" name="CMD_CLOSE" onclick="window.close()"></td> </tr> </table> </form> </tr> </table> <pre> </body> </html> -------------------------------------- MODIFY.ASP: <% sname = Request.Form("txtsname") ssex = Request.Form("txtssex") birth = Request.Form("txtbirth") address = Request.Form("txtaddress") telephone = Request.Form("txttelephone") qq = Request.Form("txtqq") strSourceFile = Server.MapPath("class.xml") Set objXML = Server.CreateObject("Microsoft.XMLDOM") objXML.load(strSourceFile) set classNode=classNodeList(index) classNode.childNodes( 1 ).text=sname classNode.childNodes( 2 ).text=ssex classNode.childNodes( 3 ).text=birth classNode.childNodes( 4 ).text=address classNode.childNodes( 5 ).text=telephone classNode.childNodes( 6 ).text=qq objXML.save(strSourceFile) Set objXML=nothing response.redirect "main.asp" %> 红色显示部分是参数的传递,感觉错误就是出在这里。
|