我在 ASP.NET 页面的 UpdatePanel 中有一个简单的中继器。此转发器在每个RepeaterItem 中都有一个按钮,当单击该按钮时,将根据该特定RepeaterItem 中包含的信息将您重定向到另一个页面。在那之前没有任何异常。
在我的开发计算机中,当我单击其中一个按钮时,我从 ajax 调用中得到响应,看起来像
"1|#||N|M|pageRedirect||/somepage.aspx?q=bla|"
一切正常。我猜脚本管理器会处理该指令并通过 JS 将浏览器发送到 somepage.aspx?q=bla。
当我将它部署到我的实际网站(专用服务器,我真的尝试在两个环境中保持相同的配置,包括在我的开发计算机中使用 IIS)时,这种行为会发生变化。当我单击这些按钮中的一个时,我从服务器收到 302 Found 响应,并且 HTTP 标头包括
Location: /somepage.aspx?q=bla
指示。最终发生的是浏览器(FF,chome,IE)处理两个页面(意味着ajax调用,他们从我试图重定向到的页面执行GET)但只呈现原始页面,因此不需要重定向地方。第二页已加载但在“背景”中并且从未显示。
我试图找出这两种不同行为背后的原因。通过谷歌搜索我可以发现这可能是一个配置错误(例如,请参阅这个问题),但我的配置在两台服务器中都是相同的。请记住,我不能过多地使用实际的网站,所以现在我正试图让我的开发服务器像生产服务器一样运行,这样我就知道这种差异来自哪里,然后采取适当的措施。
任何帮助将不胜感激。