2010-11-22 65 views
0

我GOOGLE了許多樣品,所有的節目這樣的代碼ASP Server.Transfer的把參數

Server.Transfer("/default.asp?p=news") 

但 - 一個無效字符爲MapPath方法的Path參數指定我得到的錯誤。

你能幫助我嗎?

+0

你可以使用response.redirect,取決於你在做什麼 – Sparky 2010-11-22 22:34:23

回答

3

Server.Transfer方法實際上不支持支持路徑中指定的任何類型的查詢字符串。您可以嘗試將查詢參數存儲在會話值中。

一些討論: http://classicasp.aspfaq.com/general/why-won-t-querystring-values-work-with-server-execute/server-transfer.html

+0

它可以解決沒有會話?可能是iis 7還是別的? – kusanagi 2010-11-22 05:57:19

+0

會話是一種解決方法。它並沒有真正解決問題。 – tshao 2010-11-22 07:09:41

0

下面可能是一個變通使用的Server.Transfer或Response.Redirect的。

Response.Write "<script language=javascript>window.location.href = '/default.asp?p=news';</script>" 
0

你將不得不包括你的查詢字符串在服務器傳輸的頁面上。

即:

page.asp P =新聞將包括:

Server.Transfer("default.asp") 

的default.asp將包括:

sParam = Request("p") '<-- Your querystring value from page.asp 

這應該工作,或者如果你的應用程序不靈活,你可以使用Session來傳遞值。它在這裏說什麼方法允許傳遞變量使用Server.Transferhttp://msdn.microsoft.com/en-us/library/ms525800%28v=vs.90%29.aspx