利用Irame传递大容量数据给另外一个页面

来源:互联网 发布:刘毅22000怎么样 知乎 编辑:程序博客网 时间:2024/05/19 16:05
 


due to our projet need,在尝试了Session等方法都不是很理想的方法的情况下,我们必须用到Irame,因为动用xmlhttp,AJAX,或者其他方式都会引起很多的变动,所以只能利用Irame并且保证Irame指向的页面可以接受到大容量的数据(大于2KB),即使用POST方法,但是Irame又没有这个方法,最后只能考虑,用一个隐藏表单指向IRAME,网络上的文章很多,但是调式起来却很多问题,最后睡了一个晚上起来搞定:

aaa.aspx:
<HTML>
<HEAD>
<title>利用Irame传递大容量数据给另外一个页面</title>
<script language=javascript>
function bodyOnLoad()
{
document.wlform.submit();

}
</script>
</HEAD>
<body onload='bodyOnLoad();'>
<form id="form1" name=crmForm method=post runat=server>
<table><tr><td id="这里必须用Irame动态显示出bbb.aspx的内容">
<iframe id=wl name=wl style='border-top: solid 1px #666666;border-bottom: solid 1px #666666;border-left: solid 1px #666666;border-right: solid 1px
#666666;'width=100% height=100% >以前在这里用src=bbb.aspx?name="这里传送参数,但是大于2KB就会出问题...,"</iframe>    
   </form><td><tr>
<form id="wlform" name=wlform method=post action=bbb.aspx?version=1 target=wl>
  <input type="hidden" id="ttt" name="ttt" value="<%=这里存储这超过2KB的数据,已经不能用Iframe的URL进行传参%>" >
   </form>
<table>
</body>
</html>

bbb.aspx.cs:
private void Page_Load(object sender, System.EventArgs e)
  {
   sDocPath = Server.UrlDecode(Request.Form["ttt"]);//这里获取aaa.aspx页面超过2KB数据
  }
原创粉丝点击