我们正在使用Response.Redirect
将用户发送到网站进行问卷调查。我们有一个数据库,存储有关用户参与调查资格的信息,如果符合条件,主页上会显示“Take Survey”按钮,变量会存储调查的URL。
在TakeSurvey_Click
事件中,代码原来如下:
FormsAuthentication.SignOut();
Response.Redirect(TheURL);
非常直接,多年来一直很好。最近,我们更改了用户被重定向到的网站。成千上万的用户没有问题;然而,对于一个相当重要的群体(2-3%),按下“Take Survey”按钮时没有任何反应。
我在搜索互联网后相当肯定,我已经尝试了所有推荐的方法来处理这种情况,但没有一个真正做到我想要的。我想要发生的是,如果Take Survey没有将用户发送到链接(BTW,我们已经检查了为非工作链接生成的链接,并且它们是很好的链接),我想要一个信息页面出现告诉他们我们有问题,如果他们可以向我们发送有关他们的环境的一些信息,它将有助于解决问题。看起来很简单,但无论我尝试什么,我要么不能让页面不显示,要么,如果我使用覆盖并发送错误,它永远不会显示,也永远不会重定向。
有人有什么想法吗?
答案 0 :(得分:0)
Response.Redirect
向浏览器发送“302 Moved”响应。浏览器负责导航到目标网址。
因此,一旦您发布了Response.Redirect
,它就会失控,并且没有简单的方法可以检测到浏览器未成功导航到您选择的网址。
现在,有几种不同的方法(我可以想到这样做):
document.location
。meta refresh
)。如果它应该在其他地方发现后仍然在同一页面上,那么它可以发出警告。