我有一个注册页面,用户可以在其中注册,注册后,他的令牌将被存储。 然后在注册后,我会将他重定向到商店页面。 如果他已注册并且单击浏览器的后退按钮,则应将他重定向到主页(并且不会再次看到注册页面(。 但是现在使用我当前的代码,当用户在注册后按后退按钮时, 他移回注册页面!有什么想法吗?这是我的控制器,如果他已登录并注册,它将返回主页视图:
public virtual ActionResult Register(string returnUrl, string invitationCode = null,
string emailAddressOrMobileNumber = null)
{
if (Request.IsAuthenticated) return RedirectToAction(MVC.Home.Index());}
您可以在Home:Index
操作中设置这些代码以清除缓存控制。您还需要检查UrlReferrer
以确认通过注册页面返回主页。
if (Request.UrlReferrer.PathAndQuery == "/register")
{
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache, no-store, must-revalidate");
HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
HttpContext.Current.Response.AddHeader("Expires", "0");
}
如果你只返回一个视图,你应该:
1( 将 html 部分或 DIV 添加到您的视图或介绍您的布局中,并设置 css 属性以将此 DIV 放在页面底部,如下所示:
.HTML:
<div id="bottom" > </div>
.CSS:
#bottom {
height: 40px;
position: fixed;
bottom:0%;
width:100%;
background-color: #393838;
opacity: 1;
}
2( 在返回操作中,您应该返回您的路由网址 + 您的 DIV 的 ID 以滚动到此div
控制器:
public virtual ActionResult Register(string returnUrl, string invitationCode = null,
string emailAddressOrMobileNumber = null)
{
if (Request.IsAuthenticated) return RedirectToAction(MVC.Home.Index());
}
return Redirect(Url.RouteUrl(new { controller = "Controller", action = "Action" }) + "#bottom");
}