2009-10-22 31 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