Javascript 浏览器后退按钮和关闭问题

Javascript 浏览器后退按钮和关闭问题,javascript,asp.net-mvc-3,Javascript,Asp.net Mvc 3,我有一个MVC3应用程序,其中向用户发送了一封电子邮件,其中包含一个链接。单击电子邮件中的链接后,用户将进入登录页面,然后在登录后进入第2页(第二页)。 现在,用户在进入第二个页面后无法返回登录页面,这是我为其编写的代码(使用会话) 在第二页的控制器中: Session.Add("Login",true); 在登录页面的控制器中: if(Session["Login"]==true) { //redirect back to Second page } else

我有一个MVC3应用程序,其中向用户发送了一封电子邮件,其中包含一个链接。单击电子邮件中的链接后,用户将进入登录页面,然后在登录后进入第2页(第二页)。 现在,用户在进入第二个页面后无法返回登录页面,这是我为其编写的代码(使用会话)

在第二页的控制器中:

Session.Add("Login",true);
在登录页面的控制器中:

if(Session["Login"]==true)
    {
    //redirect back to Second page
    }
    else{
    //continue
   }
现在,问题是,每当用户进入第二个页面,关闭窗口,然后再次单击链接(在电子邮件中),由于上面的代码,他将被带到第二个页面,而不是登录。这不应该发生。有没有办法避免这种情况,或者找到更好的方法来防止后退按钮的使用??
我以为我可以检测到浏览器的关闭事件,并在该事件上清除我的会话,但这似乎不可能。请帮助

如果您希望电子邮件中的链接系统地将用户发送到登录页面,您可以对其进行如下修改:

http://domain.com/account/logon?returnurl=/somecontroller/someaction

这样,每当用户点击电子邮件中的链接时,无论他是否已经在您的网站上通过身份验证,他都会被带到登录页面。

是的,这是可能的,但是否有其他方法仅涉及这两个页面(登录和第二个)?重点是更改链接上的URL需要更改其他人的代码,不是我模块的一部分,我认为我不能要求其他人这样做!:-(@karank,我担心如果不修改链接,您将无法实现这一点,因为如果第二页需要身份验证,并且用户在单击电子邮件中的链接时已经通过身份验证,那么他将直接到达第二页。