2011-07-11 50 views
2

我正在使用ASP經典,並且我想提交發布數據而沒有實際的表單。在ASP經典/ VBScript中沒有表單提交發布數據

這裏是場景。用戶填寫第1頁上的表單中的評論框。表單使用Post來提交Page2的數據。 Page2處理傳入數據並使用Response.Redirect方法重定向回第1頁。如果用戶填寫不正確的東西,我需要將這些數據發回第1頁,以便用戶不會丟失他輸入的內容。 Page2並不打算在任何時候實際顯示任何HTML。它只是用作評論處理頁面,並且無論如何總是重定向。有沒有更好或更喜歡這樣做的方法?

jQuery的.post方法,它允許你做我在問什麼。但是,我真的不確定我如何將它與我的ASP頁面集成。我想我實際上必須暫時顯示一個HTML頁面,然後讓jQuery在頁面加載後處理重定向。這也意味着我會有一個jQuery將提取的值的表單。我認爲這可能是一個好的解決辦法,但如果存在的話,我更喜歡更「原生」的解決方案。

+2

正確的設計是讓頁面1中的AJAX處於第一位 - 讓AJAX將數據發佈到頁面2並處理響應。儘管這是一個很大的改變,所以如果你準時緊張,請檢查下面Yots建議的解決方法。 –

+1

當您想要避免AJAX時,另一種選擇是處理Page1上的狀態,並使用ServerXMLHTTP從Page1中調用Page2。 http://msdn.microsoft.com/en-us/library/ms766431(v=vs.85).aspx。使用ServerXMLHTTP,您可以使用POST將變量發送到Page2。 – Yots

+0

jQuery是這個更好的解決方案 – pee2pee

回答

0

根據您的系統Server.Transfer()可能是一個解決方案。 因此,當您從Page2到Page1執行Server.Tranfer()時,您的所有數據都會再次出現。

從文檔:

的轉移方法發送(傳送)的所有狀態信息(所有 應用/會話的變量和在請求 集合的所有項目)在一個ASP文件中創建第二ASP文件。

當第二個ASP頁面完成其任務時,它不會返回到第一個ASP頁面(如Execute方法)的 。

注意:Transfer方法是 Response.Redirect的高效替代方法。重定向強制Web服務器處理額外的 請求,而Server.Transfer方法將執行轉移到服務器上的另一個ASP頁面,並避免額外的往返。

+0

我認爲這是一個很好的解決方案,雖然我還沒有測試過。我不清楚如何處理「全局」變量和常量,「全局」連接對象,包括這兩個頁面可能共享的內容等。 – HK1