我正在尝试在完成Facebook登录后从IE浏览器控件中删除URL。当我尝试在登录后检测重定向时出现问题。我正在使用Response.Redirect(Url,false)函数,但这只是允许我在加载之前与页面进行交互,而不是之后。
如果Page_Unload函数中没有可用的响应对象,如何在页面加载后(在登录过程结束时触发)检测重定向?我被卡住了。
生命周期doc没有提到卸载后的任何状态,这正是我必须刮取URL的时候。我尝试过使用IsPostBack但是在我关闭窗口之前,代码永远不会到达这一点。任何帮助是极大的赞赏。
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\user_name\LogUnLoad.txt");
System.IO.StreamWriter errorfile = new System.IO.StreamWriter(@"C:\Users\user_name\LogUnLoadError.txt");
try
{
base.OnUnload(e);
if (Page.IsPostBack)
{
file.Write("\r\n This branch does not get executed. Neither does this");
}
}
catch( Exception ex)
{
errorfile.Write("Page_Unload \r\n\t Error Message \r\n\t\t:"+ex.Message +"\r\n\t Stack Trace: \r\n\t"+ex.StackTrace);
errorfile.Close();
file.Close();
}
页面生命周期的来源:http://msdn.microsoft.com/en-us/library/ms178472(v=vs.85).aspx
更新:我是建议here的Global.asax文件 我认为在关闭之前要求之前的URL是解决方案,但没有骰子。
答案 0 :(得分:1)
万一有人喜欢跳过评论,我会把它放在这里。
如果您检查HttpRequest.UrlReferrer,则可以获取上一页的URL。这可用于检查重定向。