一个页面向另一个页面传递数据,可以用Session也可以用http get方式即url后带上参数,前一种方法由于Session有有效期限制以及用Session传递需要额外内存控制,后一种方法对传递的数据长度有限制。除了这两种方式,笔者封装了以下方法用来提交一个大数据量对象。
var _TargetWin=null;
function Submit(url,action,method,data,target)
{
var frmhtml="<form ";
if(url!=null)
frmhtml+= "action='"+url+"' ";
if(method!=null)
frmhtml+= " method='"+method+"'>";
var submitfrm = document.createElement(frmhtml);
var actionfld = document.createElement("<Input type='hidden' name='RequestAction'>");
actionfld.value = action;
var valuefld = document.createElement("<Input type='hidden' name='DataStore'>");
if(typeof(data)=="string")
valuefld.value = escape(data);
else if(typeof(data)=="object")
valuefld.value = escape(data.ToString());
submitfrm.appendChild(valuefld);
submitfrm.appendChild(actionfld);
document.appendChild(submitfrm);
if(target)
submitfrm.target = target;
else if(_TargetWin)
submitfrm.target = _TargetWin;
document.body.disabled=true;
submitfrm.submit();
}