我已经使用查询字符串参数从第1页重定向到第2页。从第2页开始,如果从第1页调用第2页,我想将其重定向到第3页。检查是否应该检查是否有条件使用查询字符串? 请帮帮我!!谢谢你们!
答案 0 :(得分:0)
您可能希望解析HTTP_REFERER并查看是否已从第1页调用Page 2.基本上,您将根据HTTP_REFERER值构建重定向。在C#中,可使用以下值获得该值:
Page.Request.ServerVariables("HTTP_REFERER")
答案 1 :(得分:0)
将某些内容放入第2页的查询字符串中,并检查它。
但是,您应该总是移动以减少数量或重定向(某些浏览器限制为5 - 以防止在没有精确循环的情况下,浏览器将永远重定向 - 如果它已经花了几个重定向来获取到你的网站,然后在这个序列的一部分,它将停止重定向)。在第1页中,您应该重定向到第3页。如果您需要完成某些内容,请在第1页或第3页中进行,但请注意,这只是从浏览器的角度来看;如果您执行server.transfer到第2页,那么代码的逻辑模式是1 - > 2 - > 3,浏览器看起来像1 - > 3.在这种情况下,你也可以检查原始URI,如果你想知道你从第1页开始到达那里。
从另一种方式来看,重定向是UI的一部分。如果用户在第1页上与此相关应该是有意义的,或者您的UI中存在错误。如果用户在第3页结束,那么这也应该有意义,或者您的UI中存在错误。现在考虑到这一点,用户在第2页的目的是什么目的?我不是说不可能有一个(我可以想到多个重定向很有意义的情况,特别是如果它们属于不同的类型,例如移动 - 永久跟随看见 - 其他有意义),但机会它是不是,你可以处理它的一部分,同时保持服务器的流量。
答案 2 :(得分:0)
也许我不明白这一点..但为什么不直接从第1页重定向到第3页?
答案 3 :(得分:0)
Ram,这是我对你想要的解释:如果用户因为从Page1重定向而访问Page2,用户将被自动重定向到Page3。如果用户直接访问Page2(不访问Page1),则用户将保留在Page2(不重定向到Page3)。
如果是这种情况,在Page1内,你可以设置redirect(“Page2.aspx?previouspage = page1”),然后在Page2内,在Page_load方法中,检查查询字符串,如果previouspage存在且等于“page1”,重定向到Page3,否则什么都不做,Page2会出现。