我的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),但只渲染原始页面,因此不需要重定向地点。第二页被加载,但在“背景”中并未显示。
我想找到背后这两种不同行为的原因。从我可以通过使用Google搜索找到的是,这可能是一个配置错误(例如,请参见this question),但我的配置在两台服务器中都是相同的。 请记住,我不能乱搞太多的实际网站,所以现在我试图让我的开发服务器像生产服务器一样行事,所以我知道这种差异来自哪里,然后采取适当的行动。
任何帮助将不胜感激。
是的,浏览器似乎将该信息发送到服务器 ('X-Requested-With:XMLHttpRequest'和'X-MicrosoftAjax:Delta = true') –
@EdFox您需要检查信息是否到达服务器方面,例如,防火墙可能会将其去掉 –
我接受了您的回复,但我最终注册了点击作为触发器以强制进行完整回发。我认为这是一个在asp.net或telerik中的错误,因为我检查了服务器并且头文件正在下降。 –