2014-10-20 50 views
1

我有一个多语言网站。可用的语言是英语和荷兰语。我希望能够在这些语言之间切换。因此,当访问者点击NL语言时,它将指向www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=http%3a%2f%2fwww.website.com%2f(currenturl参数将被url编码)。HttpContext.Response.RedirectLocation在铬中工作

HttpContext.Response.Clear(); 
HttpContext.Response.StatusCode = 302; 
HttpContext.Response.RedirectLocation = currentUrl; 
HttpContext.Response.End(); 

结果(仅适用于Chrome)我得到在地址栏是空白页:www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=www.website.com

重定向到一个页面,正确的语言将通过下面的代码来完成

编码看起来很好,因为Internet Explorer和Firefox工作正常,只有Chrome有问题。我也尝试过Server.Transfer(),但我遇到过同样的问题。

我一直在寻找的问题,它看起来像它与Chrome缓存。但我不确定,也找不到解决方案。我没有看到什么可能是错误的,或者我可以如何解决这个问题,所以Chrome不会给我提供任何问题。

有没有人有想法?

回答

1

请参阅http://en.wikipedia.org/wiki/HTTP_location

RFC 2616需要在HTTP位置头绝对网址,该网址的格式不正确(从我见上文),加(HTTP://)并将其转换为受过良好形成了绝对的URL。检查,也许这将解决问题。

该问题似乎在URL中。

希望这会有所帮助。

谢谢

+1

嗨Ironluca,我已经更新了URL的URL编码网址。在我的代码中,它已经是这样了。现在这也是我的问题。谢谢 – Willem 2014-10-20 10:45:25