Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 浏览器的“后退”按钮不会返回所需的视图,而是返回缓存中的视图_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 浏览器的“后退”按钮不会返回所需的视图,而是返回缓存中的视图

C# 浏览器的“后退”按钮不会返回所需的视图,而是返回缓存中的视图,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个注册页面,用户可以注册,注册后,他的令牌将被存储。注册后我会把他转到商店页面。如果他已注册,并单击浏览器的“后退”按钮,则应将他重定向到主页(不再查看注册页面)。但现在,当用户在注册后按“后退”按钮时,使用我的当前代码,他将返回到注册页面!。有什么想法吗?这是我的控制器,如果他已登录并注册,则返回主页视图: public virtual ActionResult Register(string returnUrl, string invitationCode = null,

我有一个注册页面,用户可以注册,注册后,他的令牌将被存储。注册后我会把他转到商店页面。如果他已注册,并单击浏览器的“后退”按钮,则应将他重定向到主页(不再查看注册页面)。但现在,当用户在注册后按“后退”按钮时,使用我的当前代码,他将返回到注册页面!。有什么想法吗?这是我的控制器,如果他已登录并注册,则返回主页视图:

public virtual ActionResult Register(string returnUrl, string invitationCode = null,
            string emailAddressOrMobileNumber = null)
        {
            if (Request.IsAuthenticated) return RedirectToAction(MVC.Home.Index());}

如果只返回一个视图,则应:
1) 将html节或DIV添加到视图中或介绍布局,并设置css属性以将此DIV放在页面底部,如:

HTML:

<div id="bottom" > </div>
2) 在返回操作中,您应该返回路由url+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");
}

您可以在
Home:Index
操作中设置这些代码以清除缓存控制。您还需要检查
URLreferer
以确认通过注册页面返回

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");
}
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");
}