如果应用程序托管在IIS上,则javascript window.location.href无效

时间:2015-03-05 14:16:18

标签: javascript asp.net iis

我对javascript window.location.href函数有疑问。 在开发服务器(带有IIS的Windows Server 2008)上,我们在名为Topics2的“默认网站”中部署了一个asp.net应用程序(它是一个测试应用程序 - 生产一个是主题)。

我的问题是: 当我想使用javascript window.location.href导航到另一个页面时,浏览器会将我重定向到生产页面而不是测试页面。 示例:不是将我带到server/Topics2/MyPage.aspx?id=100,而是将我带到server/MyPage.aspx?id=100(主题名称未显示)。

应用程序中没有进行路由。 IIS是否添加了一些默认路由?或者在IIS中是否有任何路由(我不知道)正在弄乱这个?

我现在直到尝试的东西:
1. window.location.href = window.location.protocol + "//" + window.location.host + "/MyPage.aspx?id=" + item.value;
2. window.location.href= "/MyPage.aspx?id="+item.value;

我知道我总是可以对“Topics2”这个名称进行硬编码,但这并不是我们想要的,因为我们不希望每次部署到生产服务器时都记住这一点。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案,这非常简单(对我来说很遗憾,我没想到这个!)。

所以,显然如果我输入window.location.href= "/MyPage.aspx?id="+item.value;,服务器会将我重定向到生产服务器,但如果我输入window.location.href= "./MyPage.aspx?id="+item.value;,则会将我带到正确的页面。

答案 1 :(得分:0)

尝试使用:

location.replace(yourUrl);