我有一个注册页面,用户可以在其中进行注册,注册后,他的令牌将被存储。然后注册后,我会将他重定向到商店页面。如果他已注册并单击浏览器的后退按钮,则应将其重定向到主页(而不是再次看到注册页面)。但是现在有了我当前的代码,当用户在注册后按下“后退”按钮时,他将返回到注册页面!有任何想法吗?这是我的控制器,如果他已登录并注册,它将返回主页视图:
public virtual ActionResult Register(string returnUrl, string invitationCode = null,
string emailAddressOrMobileNumber = null)
{
if (Request.IsAuthenticated) return RedirectToAction(MVC.Home.Index());}
答案 0 :(得分: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)在return动作中,您应该返回路线网址和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");
}
答案 1 :(得分:0)
您可以在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");
}