漂泊雪狼的博客

思考,讨论,分享C#,JavaScript,.NET,Oracle,SQL Server……技术

导航

使用XMLHttp在页面间传送参数

Posted on 2007-03-08 11:29  漂泊雪狼  阅读(4021)  评论(9编辑  收藏  举报
在ASP.NET应用程序中,我们经常需要在页面间传递参数,经常使用的方法有如下几种:
1、用receive.aspx?id=5&code=3的形式将参数传到接收页面,然后在接收页面用Request.QueryString()方法得到参数值,这种最简单,但是有长度不能超过256K的限制
2、使用隐藏域<input name="code" type="hidden" >,将要需要传送的参数值赋给该隐藏域的Value,然后将该页面用Server.Transfer方法重定向到接收页面,在接收页面用Request.Form["code"]方法得到参数值,该方法可以突破256K的限制,但页面需重定向,隐藏域的值不是很安全。
3、使用Session,Application在页面间传参数,这样传递比较安全,但微软提供这些对象初衷不是用来传递页面参数的。
4、我自己的一种方法,具体思路,先将需要传递的参数组织成键值对存放在XML文件中,在用XMLHTTP将该文件发送到接收页面,在接收页面中解析该xml文件得到参数,这种方法不光光可以可以传递普通参数,还可以将对象系列化成XML文件后传到接收页面,而且整个过程可以做到发送页面不刷新,可以传送大对象,并且可以将传递的参数在接收页面进行处理,再将处理结果返回到发送页面,下面描述一下具体的实现过程:

我需要传送的XML文件如下:
包含键值对的XML文件
在发送页面组合该XML文件的代码如下:
组织参数

在接收页读取并解析XML文件
读取解析XML文件
参数传递完毕,大家发表一下意见吧!!