2009-10-22 51 views
0

我在我的Global.asax的Application_BeingRequest()處理程序中使用代碼來做一些非常原始的URL重寫。這工作正常,但我有問題在JavaScript中獲取重寫的URL。URL重寫和JavaScript QueryString取

因此,使用URL重寫'www.mydomain.com/dothis'會變成服務器端的'www.mydomain.com/?action=dothis'。使用ASP.Net和Request.QueryString [「action」],我得到'dothis'的預期結果。當然,JavaScript仍然會看到'www.mydomain.com/dothis',因爲這就是瀏覽器顯示的內容。

我不認爲有一種方法可以讓JavaScript看到實際的頁面url,即使它沒有顯示在地址欄中嗎?

回答

1

如果你沒有明確地告訴它,服務器上發生的http接口之外的事情對於UA是不可見的。

在服務器將請求轉發到適當的處理程序之前,服務器上正在進行重寫。

你可以通過很多方式告訴UA(詢問Tim Toady ^^)。隱藏的表單控件,提到一些JavaScript變量。這是如果你的框架/服務器支持這個。

+0

謝謝。現在,我正在使用.NET來直接將我需要的值直接放到JavaScript變量中。 我只是希望有更好的辦法。我可以使用隱藏的窗體控件,所以我可以在後面的代碼中執行,而不是在aspx頁面上。 – WesleyJohnson 2009-10-22 15:45:20