1.通常我們會用url傳值來傳遞數據量較小的一些數據,如一些參數等,會利用session傳遞一些全局的會話級的變量。但要窗體之間傳遞一些較復雜的數據,用session生命周期太長,可能不合適。用URL傳值,漢字可能出現編碼錯誤,而且可以傳遞的最大數據量比較有限。
2.我們可以利用模態對話框的dialogArguments屬性來實現跨頁面的數據傳遞,
通過如下方式可獲得模態對話框的dialogArguments屬性:
var Variables = window.dialogArguments
利用該屬性可獲得模態對話框的傳入參數,可以是String, numeric, object, or array value that specifIEs arguments.尤其是對象或數組型的參數,對於在頁面之間傳遞數據非常有用。舉例如下:
傳入頁面:
<Html>
<HEAD>
<SCRIPT>
function AddNew(meetingID) {
var obj=new Object();
obj.name="qiubinchao";
obj.tel="12345678"; var strUrl="../MeetingManage/NewMeeting.aspx?id="+meetingID; window.showModalDialog(strUrl,obj,"dialogHeight:700px;dialogWidth=900px;dialogTop=10px;dialogLeft:50px;"); window.location="../MeetingManage/MeetingPublishedList.ASPx"; }
</SCRIPT>
</HEAD>
<BODY>
<BUTTON onclick="AddNew();" >Launch The Window</BUTTON>
</BODY>
</Html>
接收頁面:
<Html>
<HEAD>
<SCRIPT>
var oMyObject = window.dialogArguments;
var name= oMyObject.name;
var tel= oMyObject.tel;
</SCRIPT>
<title>Untitled</title>
</head>
<BODY MARGIN: 0px">background-color: RosyBrown;">
Name:
<SPAN >
<SCRIPT>
document.write(name);
</SCRIPT>
</SPAN>
<BR>
Tel:
<SPAN >
<SCRIPT>
document.write(tel);
</SCRIPT>
</SPAN>
</BODY>
</Html>