這個教程主要學習在 DreamWeaver MX 中如何修改“添加/修改編輯數據”的代碼,以便使用戶提交的信息在下一頁有效。 當使用“Insert”或者“Update”時,這個問題經常會被遇到,表單自動被提交,然后頁面地址指向第二頁,這時,在第一頁中輸入的表單的數據值在第二頁中是無效的。我知道使表單的值與更改后的地址URL相聯(lián)系并進行擴展是可能的。然而,當我進一步查看MM的代碼后,我意識到可以通過修改一些代碼來達到在第二頁中調用前頁提交數據的目的。
步驟1:在標準模式下,用 Macromedias 代碼創(chuàng)建 “Insert Record” 頁面或者 “Edit Record” 頁面 。輸入“page2"作為指向后的頁。
現(xiàn)在,打開你的代碼來看,會發(fā)現(xiàn)下面的代碼。這段代碼在每個 MM “Insert” 或者 “Update Record” 頁面中是相同的:
' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If
紅色的代碼是我們將要修改的有問題的代碼。MM通過綁定數據到新地址并將這些表單元素傳遞到下一頁,然而,Request.QueryString 是這樣一種代碼:在表單以“GET”方式傳遞數據時,將所有數據綁定到URL中“?”之后。所以當MM使用POST方式傳遞數據時,Request.QueryString是空的。因此為了得到“?”后面所有內容的值我們需要使用用“Request_Form”.
步驟2:用下面所示的 Request.Form 代替上面所有的紅色代碼。
' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.Form <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.Form <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.Form Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.Form End If End If
步驟3:現(xiàn)在可以使用
<% = Request.QueryString("yourvalue") %>
在第二頁上顯示你所提交過的表單數據了。
注意:這種方法使用使用未加密字符串傳遞所有的值,在URL中是可見的。
出處:MXSky
責任編輯:風狗
◎進入論壇網絡編程版塊參加討論
|